我使用VB.NET正则表达式对象,并试图以下文本匹配:正则表达式忽略空格
(99- 13014- 0127)
我所要的输出是:99-13014-0127(无空格和括号)。我也希望匹配的字符串被存储在名为“field”的组中,因为它将被自动提取。问题是我不能从结果中排除空格。从理论上讲,按照MSDN中,非捕获基团“(?:表达)”应适用于我“当量词被施加到一组的非捕获组构建体通常使用的,而是由组捕获的子串是没有兴趣“。但是,我仍然在结果中获得空间。
这里是我使用的模式:
\((?<field>\d{1,6}(?:\s*)-(?:\s*)\d{1,6}(?:\s*)-(?:\s*)\d{1,6})\)
我得到了上面的文字和图案的结果是:
99- 13014- 0127
什么是正确的表达式中使用,让我:99-13014-0127没有空格?
感谢
我很欣赏的评论,但我一直在寻找这样做一步到位。我的应用程序的结构方式是,每个字段存储在数据库中的正则表达式模式和VB代码自动调用正则表达式提取过程。我正在寻找一种获取所需字符串而不更改VB代码的方法。它看起来不能完成。 – Ahmad
即使奥利弗的回答需要更换,那么也许你可以使用一个替代,并有另一场在数据库中,以表明空间应该被删除。或者包含要删除的字符的可空字段。 –