C# 带*的正则表达式?(点星问号)匹配太多?
我有一个字符串:C# 带*的正则表达式?(点星问号)匹配太多?,c#,regex,C#,Regex,我有一个字符串: zabcd1>abcf2 abcg3"abch,abcj4 我想得到: - abcd1 - abcf2 - abcg3 - abcj4 带有前缀的Get字符串是abc,后缀是数字,并且只有一组abc。字符d、f、g、h、j可以替换为复杂字符串,例如: t\t img src=\"img\/x.gif\" class=\"iRe 有人能帮我吗?似乎你不想要abch,abcj4,因为它包含两个由非单词字符分隔的部分。你很接近: abc\w*\d \w包
zabcd1>abcf2 abcg3"abch,abcj4
我想得到:
- abcd1
- abcf2
- abcg3
- abcj4
带有前缀的Get字符串是abc,后缀是数字,并且只有一组abc。字符d、f、g、h、j可以替换为复杂字符串,例如:
t\t img src=\"img\/x.gif\" class=\"iRe
有人能帮我吗?似乎你不想要abch,abcj4,因为它包含两个由非单词字符分隔的部分。你很接近:
abc\w*\d
\w包括所有单词字符。相当于[A-Za-z0-9]。看
如果您想更具体一点,可以使用[A-Za-z0-9_uu],这是一个字符类,并删除不适用于匹配项的部分,例如u或0-9。这对您有用吗?它正在寻找abc,这是一组可选字符,不能是逗号或数字,后跟数字
(abc[^,\d]*\d)
您的正则表达式与abc匹配,后跟零或更多任何不贪婪的内容。*?后跟数字\d
您希望匹配abc,后跟零个或多个小写字母[a-z]*和数字\d
您应该使用*或?量词,而不是两者 如果要检查字符的0或1,应使用?那么您的正则表达式将变成:
abc.?\d
这个。当然,将匹配任何内容,而不仅仅是字母,因此,如果您希望第4个字符仅为字母,那么您将需要如下内容:
abc[a-zA-Z]?\d
您的要求不明确-abch,abcj4肯定是一个以abc存在并以数字结尾的字符串。你对你想要的东西越含糊,你完成它的可能性就越小。试着编辑你的问题,abc后面是数字吗,字母后面是数字还是多个数字,等等?我已经添加了一些信息,你能澄清一下带前缀的require Get字符串是abc,后缀是数字吗?前缀abc和后缀a之间需要多少个字符?所需结果的示例仅显示前缀和后缀之间的1个字符。您的正则表达式和实际结果允许后缀和前缀之间有零个或多个字符。很抱歉我的要求不好。我刚刚补充了一些信息。请帮忙。谢谢,我不知道OP想要做什么,但是。*的语法是什么?这是完全正确的。
abc.?\d
abc[a-zA-Z]?\d