Regex 关于匹配和忽略空格的另一个正则表达式问题
我已经花了好几个小时通过谷歌进行调查,但没有任何运气。我熟悉RegEx,但绝对不是专家 我需要做的是获取字符串'PAB 123 456'并返回令牌'AB123456' 背景: 我有一个通过条形码/二维码匹配产品的应用程序。该应用程序读取两个代码,并尝试计算它们是否相同。这是一个质量控制类型的应用程序,用.net编写 它所做的是使用两个正则表达式,比较每个正则表达式的第一个匹配项。如果它们是一样的。。。成功!有相当多的正则表达式对匹配不同的组合,应用程序只是依次尝试每一对Regex 关于匹配和忽略空格的另一个正则表达式问题,regex,Regex,我已经花了好几个小时通过谷歌进行调查,但没有任何运气。我熟悉RegEx,但绝对不是专家 我需要做的是获取字符串'PAB 123 456'并返回令牌'AB123456' 背景: 我有一个通过条形码/二维码匹配产品的应用程序。该应用程序读取两个代码,并尝试计算它们是否相同。这是一个质量控制类型的应用程序,用.net编写 它所做的是使用两个正则表达式,比较每个正则表达式的第一个匹配项。如果它们是一样的。。。成功!有相当多的正则表达式对匹配不同的组合,应用程序只是依次尝试每一对 因此,使用类似于“(?的
因此,使用类似于“(?的正则表达式,可以使用如下内容:
P(AB)[ -]*(\d+)[ -]*(\d+)
然后引用$1
,$2
和$3
您可以使用以下内容:
P(AB)[ -]*(\d+)[ -]*(\d+)
然后引用$1
,$2
和$3
另一个答案是不可能在一个匹配操作中匹配和跳过一些字符。或者替换(如
*([A-Z]{3})([0-9]{3})([0-9]{3})。*
为\1\2\3
)或者匹配然后删除空格作为后处理步骤。没有任何查找工具可以帮助您。我认为您不需要正则表达式,只需将所有空格替换为空字符('
)并删除第一个字符。我认为可以同时使用match和skip/replace,这就是我提出这个问题的原因。如果没有,则返回到visual studio以删除应用程序的新版本。感谢帮助。另一个答案是,在一个匹配操作中不可能匹配和跳过某些字符。替换或(如*([A-Z]{3})([0-9]{3})([0-9]{3})。*
与\1\2\3
匹配,然后删除空格作为后处理步骤。没有任何查找工具会帮到你。我认为你不需要正则表达式,只要用空字符替换所有空格('
)并删除第一个字符。我认为可以同时使用match和skip/replace,这就是我提出这个问题的原因。如果没有,那么它将返回visual studio以制作新版本的应用程序。感谢帮助这依赖于加入三个结果,因此需要重新编码,这是我想要避免的…但是看起来我们必须这样做。向函数中添加一个替换正则表达式将解决问题…我认为。这依赖于三个结果的合并,因此需要重新编码,这是我想要避免的…但看起来我们必须这样做。向函数中添加一个替换正则表达式将解决问题…我认为。