给定一系列字符串:
- error.user - success - success.user - success.admin
我想编写一个正则表达式,它将匹配任何不以
我现在的做法是:
我正在使用PHP / PCRE进行操作。 下面是我的regex101.com链接:https://regex101.com/r/l2sZru/1
- error.user - success - success.user - success.admin
我想编写一个正则表达式,它将匹配任何不以
error
开头且没有.user
在其中的内容。 因此,对于这个列表,success
和success.admin
会被匹配。我现在的做法是:
/^((?!error)\w*)((?!\.*user)\w*)/
第一部分:((?!error)\w*)
工作得很好,将匹配范围缩小到以success
开头的字符串。 但是第二部分:((?!\.*user)\w*)
却没有起到任何作用。 我认为第一部分匹配了太多的内容。我正在使用PHP / PCRE进行操作。 下面是我的regex101.com链接:https://regex101.com/r/l2sZru/1
^(?!error|.*\.user)[\w.]+$
更短。 - Wiktor Stribiżew