Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带*的正则表达式?(点星问号)匹配太多?_C#_Regex - Fatal编程技术网

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