regex 正则表达式匹配撇号(')中的破折号(-)

e3bfsja2  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(114)

我正在尝试编写一个正则表达式来匹配仅在撇号(')内的破折号(-)
示例数据:

( NOT TABLE-FIELD BEWEEN 'XX-XX'  AND 'XX-XX'  ) AND ( TABLE-FIELD = 'XXX-XXX-XXX' )

匹配的期望-在“”和它应该忽略-外部“”示例,TABLE-FIELD
(不是位于“XX - XX”和“XX - XX”之后的表字段)和(表字段=“XX - XX - XX”)
想出了这个(')()[^ ]*到现在为止,它将匹配里面的内容,但不知道写什么表达式来限制它只到-
结果
(不是位于'XX-XX''XX-XX'之间的表格字段)和(表格字段= 'XX-XX-XX'

y1aodyip

y1aodyip1#

如果可以假设总有偶数个单引号,那么当且仅当字符串中连字符后面的单引号的数量是奇数时,我们可以推断连字符在单引号分隔的短语中。如果匹配以下正则表达式,则会发生这种情况。

-(?=[^']*'(?:(?:[^']*'){2})*[^']*$)

Demo

相关问题