我正在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
这可能吗?
谢谢!
一般来说,一种识别字母和数字之间的连字符的模式对同时支持lookbehind和lookahead的正则表达式引擎有效。
(?<=\d)-(?=[A-Za-z])|(?<=[A-Za-z])-(?=\d)