我需要一个模式来删除部分字符串,比如“letter+whitespace+letter+whitespace.”直到第一个点。例如,在字符串中
我给你开个处方。
图案应与"D o c t o r.“相匹配。现在我有了一个模式([A-Za-z]\s?)+\.,但是它匹配我需要的更多子字符串。有什么办法纠正吗?非常感谢。
([A-Za-z]\s?)+\.
发布于 2017-10-11 22:21:33
如果在每个字母之前需要一个单词边界,那么字母之间将需要空格。现在,可以匹配连续的字母,因为空格模式是可选的(1或0出现)。
所以,你可以用
(\b[A-Za-z]\s?)+\.
请参阅这个regex演示
或者,或者,使用
\b[A-Za-z](?:\s[A-Za-z])+\.
见regex演示。这里,
\b
[A-Za-z]
(?:\s[A-Za-z])+
*
+
\s
\.
https://stackoverflow.com/questions/46698409
相似问题