Javascript 正则表达式以前有过吗,有组吗
在JS中,我应该做什么来匹配并将Javascript 正则表达式以前有过吗,有组吗,javascript,regex,regex-group,Javascript,Regex,Regex Group,在JS中,我应该做什么来匹配并将或~之前的任何内容放入这个正则表达式模式中的组one 模式:(?*)(?:>| ~)(?*) 字符串: aaa bbb>ccc ddd~eee 在本例中,aaa应进入组。使用 ^(?.*?(?:>| ~)(?*)$ 备选方案: ^(?.*?(:[>~](?*))$ 看 解释 -------------------------------------------------------------------------------- ^字符串的开头 -
或~
之前的任何内容放入这个正则表达式模式中的组one
模式:(?*)(?:>| ~)(?*)
字符串:
aaa
bbb>ccc
ddd~eee
在本例中,aaa
应进入
组。使用
^(?.*?(?:>| ~)(?*)$
备选方案:
^(?.*?(:[>~](?*))$
看
解释
--------------------------------------------------------------------------------
^字符串的开头
--------------------------------------------------------------------------------
(?分组并捕获到“一”:
--------------------------------------------------------------------------------
.*?除\n(0次或多次)以外的任何字符
(匹配尽可能少的金额)
--------------------------------------------------------------------------------
)“一”的结尾
--------------------------------------------------------------------------------
(?:组,但不捕获(可选)
(匹配尽可能多的金额):
--------------------------------------------------------------------------------
(?:组,但不捕获:
--------------------------------------------------------------------------------
> '>'
--------------------------------------------------------------------------------
|或
--------------------------------------------------------------------------------
~ '~'
--------------------------------------------------------------------------------
)分组结束
--------------------------------------------------------------------------------
(?分组并捕获到“两个”:
--------------------------------------------------------------------------------
.*除\n(0或更多)以外的任何字符
次数(与最大金额匹配)
(可能的)
--------------------------------------------------------------------------------
)“两个”的结尾
--------------------------------------------------------------------------------
)? 分组结束
--------------------------------------------------------------------------------
$在可选的前\n和
一串
使用
^(?.*?(?:>| ~)(?*)$
备选方案:
^(?.*?(:[>~](?*))$
看
解释
--------------------------------------------------------------------------------
^字符串的开头
--------------------------------------------------------------------------------
(?分组并捕获到“一”:
--------------------------------------------------------------------------------
.*?除\n(0次或多次)以外的任何字符
(匹配尽可能少的金额)
--------------------------------------------------------------------------------
)“一”的结尾
--------------------------------------------------------------------------------
(?:组,但不捕获(可选)
(匹配尽可能多的金额):
--------------------------------------------------------------------------------
(?:组,但不捕获:
--------------------------------------------------------------------------------
> '>'
--------------------------------------------------------------------------------
|或
--------------------------------------------------------------------------------
~ '~'
--------------------------------------------------------------------------------
)分组结束
--------------------------------------------------------------------------------
(?分组并捕获到“两个”:
--------------------------------------------------------------------------------
.*除\n(0或更多)以外的任何字符
次数(与最大金额匹配)
(可能的)
--------------------------------------------------------------------------------
)“两个”的结尾
--------------------------------------------------------------------------------
)? 分组结束
--------------------------------------------------------------------------------
$在可选的前\n和
一串
您还可以使用字符类和以[^
^(?<one>[^>~\n]+)(?:[>~](?<two>.*))?$
^(?[^>~\n]+)(?:[>~](?*)$
字符串的开头^
组一个匹配除(?[^>~\n]+)
或换行符以外的任何字符的1+倍~
非捕获组(?:
匹配[>~]
或~
Grouptwo将任何字符(换行符除外)匹配0+次(?*)
关闭组并将其设置为可选)?
字符串结尾$
您还可以使用字符类和以
[^
^(?<one>[^>~\n]+)(?:[>~](?<two>.*))?$
^(?[^>~\n]+)(?:[>~](?*)$
字符串的开头^