字符串的正则表达式

时间:2012-05-21 04:54:23

标签: c# regex

我有一个像

这样的字符串

例如AHDFFH XXXX

其中'AHDFFH'可以是任何长度的char字符串。 AND'XXXX'将重复否。任何长度的'X'字符,需要由表中自动递增的数据库值替换。

我需要使用正则表达式从上面的字符串中找到重复的'X'字符。

任何人都可以帮我解决这个问题.. ??

2 个答案:

答案 0 :(得分:1)

试试这个:

\b(\p{L})\1+\b

<强>解释

<!--
\b(\p{L})\1+\b

Options: case insensitive; ^ and $ match at line breaks

Assert position at a word boundary «\b»
Match the regular expression below and capture its match into backreference number 1 «(\p{L})»
   A character with the Unicode property “letter” (any kind of letter from any language) «\p{L}»
Match the same text as most recently matched by capturing group number 1 «\1+»
   Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
Assert position at a word boundary «\b»
-->

答案 1 :(得分:0)

是你的意思是一些字符+(在某个或某些空间)+一些数字?

如果是这样,你可以使用这个regexpression:

\w+\s+(\d+)

c#代码如下:

System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\w+\s+(\d+)");
System.Text.RegularExpressions.Match m = regex.Match("aaaa 3333");
if(m.Success) {
    MessageBox.Show(m.Groups[1].Value);
}