如何使用RegEx在字母和数字字符之间找到字符

问题描述 投票:0回答:1

我正在Access VBA中工作,试图替换出现在字母和数字字符之间的所有破折号(反之亦然)。我正在尝试使用正则表达式来找到破折号(并且只有破折号),如果破折号出现在字母和数字之间或者数字和字母之间。

我能够找出语法来识别我要寻找的模式-但是,表达式也会选择破折号之前和之后的字符-并且我试图仅匹配破折号。

/([0-9]-[A-Za-z])|([A-Z-a-z]-[0-9])/g

Actual Results:
1234-56789         nothing is matched
12-A458-125        2-A is matched
1-A-2-B-C985-ABC   1-A, A-2, 2-B,5-A are matched

I'm looking to identify only the - character in those situations

这可能吗?

谢谢!

regex vba access-vba
1个回答
0
投票

一般来说,一种识别字母和数字之间的连字符的模式对同时支持lookbehind和lookahead的正则表达式引擎有效。

(?<=\d)-(?=[A-Za-z])|(?<=[A-Za-z])-(?=\d)
© www.soinside.com 2019 - 2024. All rights reserved.