关于正则表达式的怀疑

joa*_*oab 2 c# regex

我有一个像这样的字符串"87987987 / 78979878978",这两个数字的长度没有任何限制,它之间可以是任何东西,在这个例子中我显示了一个"/"但它可以是一个字母,一个元音甚至一个数字但它们之间有一个空格,这是一个分隔符.

如何创建正则表达式来解决它?

另外,正则表达式也适用于此方案"789787987897",没有分隔符和第二个数字.

我试过这样的事情,"([\a-z]*?) (.) ([\a-z]*?) "但没有成功.

das*_*ght 5

这个表达式应该有效:

^(\d+)\D*?(\d*)$
Run Code Online (Sandbox Code Playgroud)

我们的想法是\d+在字符串的开头匹配尽可能多的数字^,然后匹配尽可能少的非数字\D*?,最后匹配字符串末尾的零个或多个数字$.

演示.

注意括号\d+\d*:它们正在设置正则表达式捕获组.您可以使用这些组从C#代码中获取正则表达式匹配的数字.

注意:如果您想允许"中间的空格"中的数字,请使用.*代替\D*.