我有一个阿拉伯文字,我想使用Regex从中提取数字。这是我的尝试。
字串:
总和是多少:
1 + 2“
Match match = Regex.Match(text, "المجموع: ([^\\r\\n]+)", RegexOptions.IgnoreCase);
它将始终返回false。并且groups.value将始终返回null。
预期输出:
match.Groups[1].Value //returns (1+2)
您编写的正则表达式匹配一个单词,然后是一个冒号,然后是一个空格,然后是1个或多个除反斜杠之外的字符,r
和n
。
您要匹配单词,冒号和任意数量的空格字符后的整行:
var text = "ما المجموع:\n1+2";
var result = Regex.Match(text, @"المجموع:\s*(.+)")?.Groups[1].Value;
Console.WriteLine(result); // => 1+2
参见C#演示
其他可能的模式:
@"المجموع:\r?\n(.+)" // To match CRLF or LF line ending only
@"المجموع:\n(.+)" // To match just LF ending only
另外,如果对带有CRLF结尾的长多行文本运行正则表达式,则替换.+
wit是有意义的,[^\r\n]+
因为.
在.NET中,正则表达式匹配除换行符LF之外的所有字符,从而匹配CR符号。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句