From e9804902416ccfc669e9675468d62836a51d0468 Mon Sep 17 00:00:00 2001 From: jdmedlock Date: Wed, 27 Mar 2019 19:53:42 -0500 Subject: [PATCH 1/2] Feature: Add RegExp Helper app specification Add RegExp Helper app specification Resolves: N/a See also: N/a --- Projects/RegExp-Helper-App.md | 40 +++++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 41 insertions(+) create mode 100644 Projects/RegExp-Helper-App.md diff --git a/Projects/RegExp-Helper-App.md b/Projects/RegExp-Helper-App.md new file mode 100644 index 00000000..7e0b5b05 --- /dev/null +++ b/Projects/RegExp-Helper-App.md @@ -0,0 +1,40 @@ +# Regular Expression Helper + +**Tier:** 2-Intermediate + +Regular Expressions should be a valuable part of any developers toolbox. They +provide a concise way to describe a pattern that can be used by JavaScripts +RegExp object to test, search, match, replace, or split the contents of a +string. Regular Expressions provide functionality you might otherwise have to +implement using loops and more lines of code. + +The Regular Expression Helper helps you learn more about Regular Expressions +by building a useful tool you'll also be able to use to test expressions +you use in your apps. + +## User Stories + +- [ ] User can enter a regular expression. +- [ ] User can enter a string the regular expression can be run against. +- [ ] User can click a 'Run' button to test +- [ ] User can see a warning message if no regular expression was entered. +- [ ] User can see a warning message if no string was entered. +- [ ] User can see a message indicating if `test()` was able to locate the pattern in the string. + +## Bonus features + +- [ ] User can select the flags (like 'g') to be used in the regular expression from a dropdown - global, case insensitive, multiline, sticky. +- [ ] User can select the RegExp function to be applied from a dropdown - test, search, or match +- [ ] User can see a message indicating the result of the selected RegExp function. +- [ ] Developer can run automated tests using a testing framework such as +[Jest](https://jestjs.io/) + +## Useful links and resources + +- [Javascript RegExp](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) +- [Regular Expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) + +## Example projects + +- [RegExr](https://regexr.com/) +- [Regular Expressions 101](https://regex101.com/) diff --git a/README.md b/README.md index 08b52f65..a2e3f785 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ required to complete them. | [Flashcards App](./Projects/FlashCards-App.md) | Review and test your knowledge through Flash Cards | 2-Intermediate | | [Markdown Previewer](./Projects/Markdown-Previewer.md) | Preview text formatted in GitHub flavored markdown | 2-Intermediate | | [Markdown Table Generator](./Projects/Markdown-Table-Generator.md) | Convert a table into Markdown-formatted text | 2-Intermediate | +| [Regular Expression Helper](./Projects/RegExp-Helper-App.md) | Test Regular Expressions | 2-Intermediate | | [Sports Bracket Generator](./Projects/Sports-Bracket-Generator.md) | Generate a sports bracket diagram | 2-Intermediate | | [String Art](./Projects/String-Art.md) | An animation of moving, colored strings | 2-Intermediate | | [Timezone Slackbot](./Projects/Timezone-Slackbot.md) | Display Team Timezones | 2-Intermediate | From 0136da1ee5e9330bc8fcc6611bdb26eb8f0192ef Mon Sep 17 00:00:00 2001 From: jdmedlock Date: Fri, 29 Mar 2019 07:25:46 -0500 Subject: [PATCH 2/2] Refactor: Implement suggestions from PR #25 Implement suggestions from [PR #25](https://github.com/florinpop17/app-ideas/pull/25) Resolves: N/a See also: N/a --- Projects/RegExp-Helper-App.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Projects/RegExp-Helper-App.md b/Projects/RegExp-Helper-App.md index 7e0b5b05..d7cd69e9 100644 --- a/Projects/RegExp-Helper-App.md +++ b/Projects/RegExp-Helper-App.md @@ -3,8 +3,8 @@ **Tier:** 2-Intermediate Regular Expressions should be a valuable part of any developers toolbox. They -provide a concise way to describe a pattern that can be used by JavaScripts -RegExp object to test, search, match, replace, or split the contents of a +provide a concise way to describe a pattern that can be used to test, search, +match, replace, or split the contents of a string. Regular Expressions provide functionality you might otherwise have to implement using loops and more lines of code. @@ -19,7 +19,8 @@ you use in your apps. - [ ] User can click a 'Run' button to test - [ ] User can see a warning message if no regular expression was entered. - [ ] User can see a warning message if no string was entered. -- [ ] User can see a message indicating if `test()` was able to locate the pattern in the string. +- [ ] User can see the matching text highlighted indicating if `test()` was able to locate the pattern in the string. +- [ ] User can see a message if none of the text was matched. ## Bonus features