鉴于字符串:
/home "1020....2010" main
Run Code Online (Sandbox Code Playgroud)
我想home,1020并2010使用正则表达式,但继续有报价问题.谁能帮我吗?
谢谢你们的帖子.我意识到我的代码可能有一些问题.这里是
string pattern [1] = @"blablabla"; string pattern [2] = @"blablabla"; ......
foreach(模式中的字符串){if(regex.match(line,s).success){......}}
然后有错误说意外的字符"\"
使用模式:
/(\w+)\s+"(\d+)\.+(\d+)"
Run Code Online (Sandbox Code Playgroud)
并且home(或者之后的任何其他名称/)将在$1,第一个数字$2和最后一个数字$3.
编辑1
我认为它@应该工作,但无法在ideone.com中编译.这确实有效:
using System;
using System.Text.RegularExpressions;
public class RegexTest
{
public static void Main()
{
Regex r = new Regex("/(\\w+)\\s+\"(\\d+)\\.+(\\d+)\"");
Match m = r.Match("/home \"1020....2010\" main ");
Console.WriteLine("$1 = " + m.Groups[1]);
Console.WriteLine("$2 = " + m.Groups[2]);
Console.WriteLine("$3 = " + m.Groups[3]);
}
}
Run Code Online (Sandbox Code Playgroud)
生产:
$1 = home
$2 = 1020
$3 = 2010
Run Code Online (Sandbox Code Playgroud)
编辑2
正如@Seattle在评论中提到的,当@在正则表达式字符串之前使用方便时,双引号需要通过在它前面放置双引号来转义(不是反斜杠!):
Regex r = new Regex(@"/(\w+)\s+""(\d+)\.+(\d+)""");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1123 次 |
| 最近记录: |