正则表达式,如果只包含字符串一次,则匹配文本

时间:2015-05-09 20:42:08

标签: regex string

我想写一个匹配文本的正则表达式,如果它只包含一个字符串一次。该文字只能包含<scr>一次。以下是一些例子:

hello-<scr>Keephello-endofstring // ok; <scr>发生一次

test-<scr>bla<scr>bla-end //不行; <scr>发生2次

hello-Keephello-end //不行; <scr>没有发生

我尝试使用以下正则表达式:

((?:(?<!<scr>).)*<scr>(?:(?!<scr>).)*)

第一个负面的背后隐藏确保<scr>不会发生 必须遵守<scr> 在此之后,负向前瞻确保不再跟随<scr>

不起作用。
我想知道如何用正则表达式完成这项工作? (附说明)

1 个答案:

答案 0 :(得分:0)

我认为你做对了,它只缺少^$锚点,以确保你的正则表达式匹配整个字符串。请查看here以获取示例。