构造正则表达式模式以匹配句子
我正在尝试编写一个正则表达式模式,该模式将匹配以多个或一个制表符和/或空格开头的任何句子。 例如,我希望我的正则表达式模式能够匹配“你好,我喜欢正则表达式!” 但是所以我在“你好”之后如何匹配单词。 到目前为止我有这个:
String REGEX = "(?s)(\\p{Blank}+)([az][ ])*"; Pattern PATTERN = Pattern.compile(REGEX); Matcher m = PATTERN.matcher(" asdsada adf adfah."); if (m.matches()) { System.out.println("hurray!"); }
任何帮助,将不胜感激。 谢谢。
String regex = "^\\s+[A-Za-z,;'\"\\s]+[.?!]$"
^
表示“以”开头“
白色空间
+
表示1或更多
[A-Za-z,;'"\\s]
表示任何字母,,,,, '
, "
或空白字符
$
表示“以…结尾”
通过定义匹配句子的示例正则表达式:“句子是一系列字符,从至少一个空白字符开始,以.
, !
或?
之一结尾”如下:
\s+[^.!?]*[.!?]
请注意,换行符也将包含在此匹配中。
根据您的要求和要求,以下内容将起作用。
String s = " hello there I like regex!"; Pattern p = Pattern.compile("^\\s+[a-zA-Z\\s]+[.?!]$"); Matcher m = p.matcher(s); if (m.matches()) { System.out.println("hurray!"); }
看working demo