正则表达式多个条件



我有一个字符串,其中包含一个像https://xxxx.yyyy.com/en这样的 URL。

如何制作一个正则表达式来验证这两个条件是否都满足?

  • 该网址不包含xxxx
  • 该 URL包含/en$/en/

您可以使用

/^(?!.*xxxx).*/en(?:$|/)/

查看正则表达式演示

  • ^- 字符串的开头
  • (?!.*xxxx)- 除换行符字符外,任何 0+ 字符后都不能有xxxx
  • .*- 除换行符字符以外的任何 0 个或多个字符,尽可能多
  • /en-/en子字符串
  • (?:$|/)- 字符串或/的结尾

因此,如果要将xxxx替换为多个术语,请使用

/^(?!.*(?:stage|acc)).*/en(?:$|/)/

请注意,如果您添加单词边界,则可以强制引擎将它们作为整个单词进行匹配:

/^(?!.*b(?:stage|acc)b).*/en(?:$|/)/

如果需要完整的字符串匹配,请在模式末尾添加.*

仅使用环顾:

^(?!.*xxxx)(?=.*/en(?:$|/)).*

^             // start of line
(?!.*xxxx)    // look ahead and don't match anything then 'xxxx'
(?=           // look ahead and match
.*/en        // anything then '/en'
(?:$|/)      // end of line OR a slash
)             // end of look ahead
.*            // match all (can be omitted if testing lines)
  • 标志:全球,多行
  • 步数:188
  • 演示

相关内容

  • 没有找到相关文章

最新更新