首页 > 文章列表 > 如何在正则表达式中使单词变为可选项?

如何在正则表达式中使单词变为可选项?

443 2024-02-05
问题内容

也就是说,我想自定义我的正则表达式以识别以下内容 apple 和柠檬apple 柠檬apple 和 以及 apple。我希望 andlemon 是可选的,目前我只设法使 and 可选,而不是 lemon

如果可以使用当前的正则表达式格式来实现,那就太好了。

正则表达式:

b([a][W_]*?)+([p][W_]*?)+([p][W_]*?)+([l][W_]*?)+([e][W_]*?)+(([a][W_]*?)+([n][W_]*?)+([d][W_]*?))?([l][W_]*?)+([e][W_]*?)+([m][W_]*?)+([o][W_]*?)+([n][W_]*?)+b

正则表达式101:

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


正确答案


下面的表达式需要以“apple”开头,然后可以跟“lemon”和“and”,如果两者都跟在后面,则需要按照“and Lemon”的顺序 这有帮助吗?

b(苹果)( ?和)?( ?柠檬)?b

https://regex101.com/r/gyj0yY/1

编辑

按照您的格式,以下内容应该有效:

b([a][W_]*?)+([p][W_]*?)+([p][W_]*?)+([l][W_] *?)+([e][W_]*?)+(([W_]*)([a][W_]*?)+([n][W_]*?)+([ d][W_]*?)+)?(([W_]*)([l][W_]*?)+([e][W_]*?)+([m][ W_]*?)+([o][W_]*?)+([n][W_]*?)+)?b

https://regex101.com/r/5wPyJ1/1

如果这就是您正在寻找的内容,请将其标记为答案。