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~
也可以使用。这就是解决方案!这就是解决办法!