您好,我真的很困扰这个问题;正则表达式模式匹配:仅使用模式的开始和结束进行匹配
我想用正则表达式来匹配模式的中间可以改变的模式的开始和结束。所以我想使用一个正则表达式来匹配不断的开始,并且不断的结束任何人都可以帮忙?
例如,该模式的开始是“/>”,并用“ABC”
我使用C#结束。
感谢
您好,我真的很困扰这个问题;正则表达式模式匹配:仅使用模式的开始和结束进行匹配
我想用正则表达式来匹配模式的中间可以改变的模式的开始和结束。所以我想使用一个正则表达式来匹配不断的开始,并且不断的结束任何人都可以帮忙?
例如,该模式的开始是“/>”,并用“ABC”
我使用C#结束。
感谢
^abc(.*)xyz$
将匹配寄托都与ABC开始,与XYZ结束。
您正在寻找的关键项目是^匹配行的开始和$匹配行的结尾。您可以在模式中使用这些字符来检查字符串开头或结尾的特定字符。
有几种选择:
比方说你有文字:
<foo/> hello first abc hello second abc <bar/> hello third abc
我将呈现三大正则表达式,它们将匹配的内容:
/\/>.*abc/
将匹配:
/> hello first abc hello second abc <bar/> hello third abc
相反匹配贪婪的,你也可以采取尽量少:
/\/>.*?abc/
这将匹配
/> hello first abc
/> hello third abc
但也许你想匹配的贪婪,而不是当一个标签被打开之间,比你可以为实例来:
/\/>[^<]*abc/
这WIL比赛
/> hello first abc hello second abc
/> hello third abc
如果您更加清晰地明确你想要什么,我能更清楚地说明我的回答。)
我试图添加代码注释,但它变得非常混乱。我已经厌倦了实现你上面显示的内容,但是我无法使它工作,请你看看。 string pattern = @“/ \ /> [^ <] * abc /”; – user101010101 2011-03-02 14:21:07
我注释了事实上的标准语法,斜杠之间。 Perl和类似的工具就是这样做的。在C#中,它只是一个字符串,并且不需要前导斜杠和尾部斜杠,也不需要转义斜杠,因此它将变成:string pattern = @“/> [^ <] * abc”; – markijbema 2011-03-02 14:35:53
^\/\u003E.*?abc$.
这将匹配字符串开头“/>”,并以“ABC”,如结束“/> XYZABC “
请提供样品。 – 2011-03-02 11:09:48
...请详细描述开始/结束可能看起来像什么(字母,数字,标点符号...)以及允许哪些文字介于两者之间。还请指定是否要在较大的文本中查找*这种模式,或者如果您希望*匹配给定的字符串与正则表达式。 – 2011-03-02 11:28:20
例如,模式的开始是“/>”并以“abc”结尾..... – user101010101 2011-03-02 11:31:48