正则表达式与"AND"运算符拼接

14 浏览
0 Comments

正则表达式与"AND"运算符拼接

这个问题已经有答案了:

正则表达式:有没有AND运算符?

我想用AND运算符连接两个正则表达式(我不知道是否可能......),所以只有在字符串匹配RegEx1和RegEx2时才会发生匹配。

 RegEx1: [a-g]+
 RegEx2: [b-z]+
 Example1 : String "bcd" match 
 Example2 : String "hijk" not match 

使用OR运算符很容易,但是对于AND我找不到解决方案。

admin 更改状态以发布 2023年5月24日
0
0 Comments

你可以使用正向前瞻运算符(?=)来组合表达式:

(?=[a-g]+)(?=[b-z]+)

这里有一个工具可以测试它:https://regex101.com/r/kyy6XZ/1

在这种情况下,它在逻辑上等同于[b-g]+,这意味着它应该匹配任何在bg之间有一个或多个字母的字符串,包括边界。

0
0 Comments

使用正向前瞻结合开始和结束字符串锚点来确保整个字符串匹配且没有“非法”字母:

^(?=[a-g]+$)(?=[b-z]+$).*

https://regex101.com/r/Bz7qnb/2/

0