Javascript 正则表达式在开始和结束时排除字符
我都是Javascript 正则表达式在开始和结束时排除字符,javascript,regex,Javascript,Regex,我都是[a-z',]符号,但不包括开头和结尾的逗号。仅将所选内容保留在红色矩形内。我该怎么做? 我想您需要的是一个可选的捕获组,重复0次或更多次: [a-z](?:[',]*[a-z]+)* 见 [a-z]-a-z范围内的字符 (?:-打开非捕获组。 [',]*-指定字符类中的零个或多个字符 [a-z]+-范围a-z中至少有一个字符 )*-关闭非捕获组并将其匹配零次或多次 注意:如果出于充分的理由OP的目的是在最后匹配一个报价,我们可以添加一个可选的撇号:[a-z](?:[',]
[a-z',]
符号,但不包括开头和结尾的逗号。仅将所选内容保留在红色矩形内。我该怎么做?
我想您需要的是一个可选的捕获组,重复0次或更多次:
[a-z](?:[',]*[a-z]+)*
见
-a-z范围内的字符[a-z]
-打开非捕获组。(?:
-指定字符类中的零个或多个字符[',]*
-范围a-z中至少有一个字符[a-z]+
-关闭非捕获组并将其匹配零次或多次)*
注意:如果出于充分的理由OP的目的是在最后匹配一个报价,我们可以添加一个可选的撇号:
[a-z](?:[',]*[a-z]+')*
。查看联机我想您需要的是一个可选的捕获组,重复0次或更多次:
[a-z](?:[',]*[a-z]+)*
见
-a-z范围内的字符[a-z]
-打开非捕获组。(?:
-指定字符类中的零个或多个字符[',]*
-范围a-z中至少有一个字符[a-z]+
-关闭非捕获组并将其匹配零次或多次)*
注意:如果出于充分的理由OP的目的是在最后匹配一个报价,我们可以添加一个可选的撇号:
[a-z](?:[',]*[a-z]+')*
。请参阅联机您可以先替换有问题的逗号,然后选择所需的字符:
let string=`,,.“?!tats,t'ats,t,s',l,f,%%,`;
string=string.replace(/^,|,$/g,“~ooo~”);
console.log(字符串);
您可以先替换有问题的逗号,然后选择所需的字符:
let string=`、.“?!tats,t'ats,t,s',l,f,%$,`;
string=string.replace(/^,|,$/g,“~ooo~”);
console.log(字符串)代码>可以与以下正则表达式匹配
[a-z'](?:[a-z',]*[a-z'])?
启动你的引擎
Javascript的正则表达式引擎执行以下操作
[a-z'] : match one character in character class
(?: : begin non-capture group
[a-z',]* : match 0+ characters in character class
[a-z'] : match one character in character class
) : end non-capture group
? : optionally match non-capture group
可以使用以下正则表达式进行匹配
[a-z'](?:[a-z',]*[a-z'])?
启动你的引擎
Javascript的正则表达式引擎执行以下操作
[a-z'] : match one character in character class
(?: : begin non-capture group
[a-z',]* : match 0+ characters in character class
[a-z'] : match one character in character class
) : end non-capture group
? : optionally match non-capture group
使用lookarounds。我想在矩形中保留逗号。我不知道该怎么做。谢谢@mandy8055你可以点击这个链接:使用lookarounds。我想在rect中保留逗号。我不知道怎么做。谢谢@mandy8055你可以点击这个链接:@F.Vosnim:你可以选择任何你想要的,它只能出现一次。例如,字符~ooo~
也可以使用。@F.Vosnim:你可以选择任何你想要的,它只能出现一次。例如,字符~ooo~
也可以使用。这就是解决方案!这就是解决办法!