我正在寻找一个匹配句点字符的正则表达式,仅当该周期的周围字符都不是句点时。
Fine by me... leave! FAIL
Okay.. You win. SUCCEED
Okay. SUCCEED //Note here, the period is the last char in the string.
我在想:
[^\\.*]\\.
但这是错误的,可能根本没有朝正确的方向发展。我希望这个问题能帮助其他人处于同样的境地。
感谢。
答案 0 :(得分:3)
你需要以负面的方式包围点:
(?<![.])[.](?![.])
我更喜欢[.]
而不是\\.
,因为:
[.]
看起来有点像星球大战™的X翼战斗机答案 1 :(得分:0)
正则表达式仍将匹配任何不在其他期间之前的期间。
[^\.]\.[^\.]
照顾目标时期的双方。
[^.]\\.[^.]|^\\.[^.]|[^.]\\.$
答案 2 :(得分:0)
您可以使用负面向前看并向后看或替代正则表达式:
String regex = "(^\\.[^\\.]|[^\\.]\\.[^\\.]|[^\\.]\\.$)";
第一个替代检查字符串的开始^
(如果它可以以点开头),第二个查找内部的任何点,第三个查找字符串末尾的点{{1 }}