0

我想在满足这些条件的各种排列顺序下为字符串标记匹配

1) 两个字母 's','t' 应该出现一次且只出现一次

2) 字母 'n','o','p' 中的任何一个都可以出现零次或一次

是否有适合此目的的正则表达式?

4

1 回答 1

0

你可以使用这个正则表达式

 ^(?=[^s]*s[^s]*$)(?=[^t]*t[^t]*$)(?=[^n]*n?[^n]*$)(?=[^o]*o?[^o]*$)(?=[^p]*p?[^p]*$).*$
  ----------------                -----------------                
         |                                 |->matches further only if there is 0 or 1 occurance of n
         |
         |->matches further only if there is a single occurance of s

使用singlelinedotall选项与正则表达式

于 2013-02-15T11:40:07.517 回答