Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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,我一直在搜索,并试图找出如何编写正则表达式来解决我的问题。到目前为止,我还不够。这就是我想做的。查找字符串中包含“Offset:”的部分,并提取其后面的数字。我的问题是这个数字可以从1到10000000。让我困惑的是逗号。欢迎任何帮助。 这是它可能看起来的一个示例。这是为c#准备的,以防万一,正如我读到的,regex可以有不同的口味。这是一个文本示例 "22:22:33.4643071","taskhostw.exe","4504","WriteFile","C:\Users\M O Shea\

我一直在搜索,并试图找出如何编写正则表达式来解决我的问题。到目前为止,我还不够。这就是我想做的。查找字符串中包含“Offset:”的部分,并提取其后面的数字。我的问题是这个数字可以从1到10000000。让我困惑的是逗号。欢迎任何帮助。 这是它可能看起来的一个示例。这是为c#准备的,以防万一,正如我读到的,regex可以有不同的口味。这是一个文本示例

"22:22:33.4643071","taskhostw.exe","4504","WriteFile","C:\Users\M O Shea\AppData\Local\Microsoft\Windows\WebCache\V01.log","SUCCESS","Offset: 286,720, Length: 4,096, I/O Flags: Write Through, Priority: Normal"

abdc Offset: 1 some more text
abdc Offset: 10 some more text
abdc Offset: 100 some more text
abdc Offset: 1,000 some more text
abdc Offset: 10,000 some more text
abdc Offset: 100,000 some more text
abdc Offset: 1,000,000 some more text
试试这个:

offset:\s*(?<offset>\d+(,\d+)*)
偏移量:\s*(?\d+(,\d+)*)
match.Groups[“offset”].Value
应该给出您的号码。

如果我读对了,这就行了

Offset:[]+(10{0,2}(?:,0{3})| 10?(?:,0{3}){2})(?![,\d])

可读版本

 Offset: [ ]+     
 (                             # (1 start)
      1 
      0{0,2}
      (?: ,0{3} )?
   |  10?
      (?: ,0{3} ){2}
 )                             # (1 end)
 (?! [,\d] )

var numberWithComma=someString.Replace(“偏移量:”,”)
之外,没有特殊字符?没有其他数字?我看到你最近的编辑,每个输入行的顺序都一样吗?意思是
Offset
总是最后出现?@maccettura是的,但它满足条件。它不会给你数字,而是给你匹配的字符串。您仍然需要解析该字符串以获得一个数字,逗号稍微复杂了一点。这太完美了,谢谢。是的,我稍后会把它转换成一个数字。再次感谢:-)