From 468c06ff1962bfe30680d72d198f045464cf6a3d Mon Sep 17 00:00:00 2001 From: buddhini81 Date: Mon, 22 May 2017 08:48:02 +0530 Subject: [PATCH 1/6] Create new folder for BAEL-839 --- core-java/src/main/java/com/baeldung/regexp/test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 core-java/src/main/java/com/baeldung/regexp/test.txt diff --git a/core-java/src/main/java/com/baeldung/regexp/test.txt b/core-java/src/main/java/com/baeldung/regexp/test.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/regexp/test.txt @@ -0,0 +1 @@ + From 0a5526ea23635ba0f03b39d4291a67c233bf855c Mon Sep 17 00:00:00 2001 From: buddhini81 Date: Mon, 22 May 2017 08:49:36 +0530 Subject: [PATCH 2/6] Add class EscapingChars for BAEL-839 --- .../com/baeldung/regexp/EscapingChars.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 core-java/src/main/java/com/baeldung/regexp/EscapingChars.java diff --git a/core-java/src/main/java/com/baeldung/regexp/EscapingChars.java b/core-java/src/main/java/com/baeldung/regexp/EscapingChars.java new file mode 100644 index 0000000000..3268339a15 --- /dev/null +++ b/core-java/src/main/java/com/baeldung/regexp/EscapingChars.java @@ -0,0 +1,25 @@ +package com.baeldung.regexp; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class EscapingChars { + public boolean isMatching(String input, String pattern) { + return input.matches(pattern); + } + + public int splitAndCountWords(String input, String pattern) { + return input.split(pattern).length; + } + + public int splitAndCountWordsUsingQuoteMethod(String input, String pattern) { + return input.split(Pattern.quote(pattern)).length; + } + + public String changeCurrencySymbol(String input, String pattern, + String correctStr) { + Pattern p = Pattern.compile(pattern); + Matcher m = p.matcher(input); + return m.replaceAll(correctStr); + } +} From 338e74ae3f0759831a5bfe2814d356d0949a2e50 Mon Sep 17 00:00:00 2001 From: buddhini81 Date: Mon, 22 May 2017 08:51:30 +0530 Subject: [PATCH 3/6] Create new folder BAEL-839 --- core-java/src/test/java/com/baeldung/regexp/test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 core-java/src/test/java/com/baeldung/regexp/test.txt diff --git a/core-java/src/test/java/com/baeldung/regexp/test.txt b/core-java/src/test/java/com/baeldung/regexp/test.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/core-java/src/test/java/com/baeldung/regexp/test.txt @@ -0,0 +1 @@ + From 156c8a3bdd588771df5819b34979f599d855d552 Mon Sep 17 00:00:00 2001 From: buddhini81 Date: Mon, 22 May 2017 08:52:22 +0530 Subject: [PATCH 4/6] Add EscapingCharsManualTest BAEL-839 --- .../regexp/EscapingCharsManualTest.java | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 core-java/src/test/java/com/baeldung/regexp/EscapingCharsManualTest.java diff --git a/core-java/src/test/java/com/baeldung/regexp/EscapingCharsManualTest.java b/core-java/src/test/java/com/baeldung/regexp/EscapingCharsManualTest.java new file mode 100644 index 0000000000..60281fda7a --- /dev/null +++ b/core-java/src/test/java/com/baeldung/regexp/EscapingCharsManualTest.java @@ -0,0 +1,70 @@ +package com.baeldung.regexp; + +import static junit.framework.TestCase.assertEquals; + +import org.junit.Test; + +public class EscapingCharsManualTest { + @Test + public void givenRegexWithDot_whenMatchingStr_thenMatches() { + String strInput = "foof"; + String strRegex = "foo."; + EscapingChars e = new EscapingChars(); + + assertEquals(true, e.isMatching(strInput, strRegex)); + } + + @Test + public void givenRegexWithDotEsc_whenMatchingStr_thenNotMatching() { + String strInput = "foof"; + String strRegex = "foo\\."; + EscapingChars e = new EscapingChars(); + + assertEquals(false, e.isMatching(strInput, strRegex)); + } + + @Test + public void givenRegexWithPipeEscaped_whenSplitStr_thenSplits() { + String strInput = "foo|bar|hello|world"; + String strRegex = "\\Q|\\E"; + EscapingChars e = new EscapingChars(); + + assertEquals(4, e.splitAndCountWords(strInput, strRegex)); + } + + @Test + public void givenRegexWithPipeEscQuoteMeth_whenSplitStr_thenSplits() { + String strInput = "foo|bar|hello|world"; + String strRegex = "|"; + EscapingChars e = new EscapingChars(); + + assertEquals(4, + e.splitAndCountWordsUsingQuoteMethod(strInput, strRegex)); + } + + @Test + public void givenRegexWithDollar_whenReplacing_thenNotReplace() { + String strInput = "I gave $50 to my brother." + + "He bought candy for $35. Now he has $15 left."; + String strRegex = "$"; + String strReplacement = "£"; + String output = "I gave £50 to my brother." + + "He bought candy for £35. Now he has £15 left."; + EscapingChars e = new EscapingChars(); + + assertEquals(output, + e.changeCurrencySymbol(strInput, strRegex, strReplacement)); + } + + @Test + public void givenRegexWithDollarEsc_whenReplacing_thenReplace() { + String strInput = "I gave $50 to my brother. He bought candy for $35. Now he has $15 left."; + String strRegex = "\\$"; + String strReplacement = "£"; + String output = "I gave £50 to my brother. He bought candy for £35. Now he has £15 left."; + EscapingChars e = new EscapingChars(); + + assertEquals(output, + e.changeCurrencySymbol(strInput, strRegex, strReplacement)); + } +} From ef1c191dfbc19507edbda3deada08d8cb1417031 Mon Sep 17 00:00:00 2001 From: buddhini81 Date: Mon, 22 May 2017 08:53:19 +0530 Subject: [PATCH 5/6] Delete --- core-java/src/main/java/com/baeldung/regexp/test.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 core-java/src/main/java/com/baeldung/regexp/test.txt diff --git a/core-java/src/main/java/com/baeldung/regexp/test.txt b/core-java/src/main/java/com/baeldung/regexp/test.txt deleted file mode 100644 index 8b13789179..0000000000 --- a/core-java/src/main/java/com/baeldung/regexp/test.txt +++ /dev/null @@ -1 +0,0 @@ - From abdc90442613ccfde365d785102b77e8ae15495b Mon Sep 17 00:00:00 2001 From: buddhini81 Date: Mon, 22 May 2017 08:54:14 +0530 Subject: [PATCH 6/6] Delete --- core-java/src/test/java/com/baeldung/regexp/test.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 core-java/src/test/java/com/baeldung/regexp/test.txt diff --git a/core-java/src/test/java/com/baeldung/regexp/test.txt b/core-java/src/test/java/com/baeldung/regexp/test.txt deleted file mode 100644 index 8b13789179..0000000000 --- a/core-java/src/test/java/com/baeldung/regexp/test.txt +++ /dev/null @@ -1 +0,0 @@ -