如何在c#中声明正则表达式模式。模式以引号开头,后来是url地址,有些东西如下
\"www\.mypage\.pl //<- this is my pattern
string pattern = ? //todo: what should I put there
答案 0 :(得分:1)
使用逐字字符串:
string pattern = @"""www\.mypage\.pl";
答案 1 :(得分:0)
您可以使用\
反斜杠来转义正则表达式语义并恢复为实际文字。如果你想逃避
"www.mypage.pl
你可以使用
\"[0-9a-zA-Z]*\.[0-9a-zA-Z]*\.[0-9a-zA-Z]*
^ this is not to escape the regex but the eventual string
if you use single quotes you don't need to escape the quotes!
请注意,[0-9a-zA-Z]*
需要更多字符,例如%
和-
以及_
,以根据关于网址的 RFC 捕获所有案例我现在无法生成的语法(很容易在网上找到)。
如果你想逃避
\"www\.mypage\.pl
你也必须逃脱逃脱:
\\\"[0-9a-zA-Z]*\\\.[0-9a-zA-Z]*\\\.[0-9a-zA-Z]*
答案 2 :(得分:0)
其他答案已经处理过(非常好)如何将短语本身放入字符串中。
要使用它,您需要引用System.Text.RegularExpressions
命名空间,其文档为over at MSDN。作为(非常)快速的例子:
System.Text.RegularExpressions.Regex.Replace(content,
regexPattern, newMatchContent);
将regexPattern
中的正则表达式content
的匹配项替换为newMatchContent
,并返回结果。