我有一个正则表达式来提取两个标记,定界符[']和撇号之间的单词,例如' Stack Overflow '。问题是,为什么这个正则表达式不起作用?

正则表达式:

(['])|'([^']*)'

这里是一个解释它的链接:
Regular Expression

仅适用于提取撇号,而撇号之间的单词为no。

注意:我需要像“堆栈溢出”那样分别提取撇号和撇号之间的任何单词。

结果将是:
  • '
  • 堆栈溢出
  • '

  • 问候。

    最佳答案

    您的正则表达式说要匹配单引号或引号之间的内容,但这是排他性的或您拥有它的方式。要将它们作为捕获组,可以使用正则表达式:

    (')([^']*)(')
    

    得到第一个报价,然后是所有没有报价的东西,然后是最后一个报价

    09-25 18:07