正则表达式匹配否定可选组
Regex match negative optional group
我正在尝试匹配 MenuSearch
和 User
的出现次数:
/MenuSearch?action=read
/User
以下正则表达式匹配第一种情况:
/\/(.*)(?=\?)/g
但不匹配 User
,因为它们在您的行中没有 ?
字符。我怎样才能使第二个正则表达式组成为可选的?
您可以使用这个基于否定的正则表达式:
/^\/([^?]+)/gm
如果您只需要查找单词字符,也可以使用 \w 元字符。
\/(\w+)/g
/\/([^?^\n]*)(\?.*)?/g
这会抓住一个正斜杠 \/
,然后是任意数量的非? non-newline 个字符,([^?^\n]*)
,可选地后跟问号,后跟任意数量的字符,(\?.*)?
第一个捕获组是菜单项,第二个捕获组是查询。
我正在尝试匹配 MenuSearch
和 User
的出现次数:
/MenuSearch?action=read
/User
以下正则表达式匹配第一种情况:
/\/(.*)(?=\?)/g
但不匹配 User
,因为它们在您的行中没有 ?
字符。我怎样才能使第二个正则表达式组成为可选的?
您可以使用这个基于否定的正则表达式:
/^\/([^?]+)/gm
如果您只需要查找单词字符,也可以使用 \w 元字符。
\/(\w+)/g
/\/([^?^\n]*)(\?.*)?/g
这会抓住一个正斜杠 \/
,然后是任意数量的非? non-newline 个字符,([^?^\n]*)
,可选地后跟问号,后跟任意数量的字符,(\?.*)?
第一个捕获组是菜单项,第二个捕获组是查询。