How to check persian character format in regex
本问题已经有最佳答案,请猛点这里访问。
如何对所有 utf8 字符使用正则表达式?
例如我想通过正则表达式检查这种格式:
1
|
[1][???? ??????]
|
我使用 \\\\w 来检查波斯字符,但它不起作用:
1
|
^(\\[1\\])(\\[\\w+\\])$
|
我也用过这个:
1
|
^(\\[1\\])(\\[\\u0600–\\u06FF\\])$
|
那我该怎么做呢?
感谢您的帮助
你可以这样使用:
1
|
^(\\[1\\])(\\[[?-?\\s]+\\])$
|
你快到了。您只需要在字符类中包含范围 \\u0600-\\u06FF,即匹配空格 \\s 的模式,如下所示。
1
|
^(\\[1\\])(\\[[\\u0600–\\u06FF\\s]+\\])$
|
演示
1
2 3 4 5 6 7 |
String input = @”[1][???? ??????]”;
Regex rgx = new Regex(@”^(\\[1\\])(\\[[\\u0600-\\u06FF\\s]+\\])$”); foreach (Match m in rgx.Matches(input)) { Console.WriteLine(m.Groups[1].Value); Console.WriteLine(m.Groups[2].Value); } |
输出:
1
2 |
[1]
[???? ??????] |
IDEONE
[\\u0600-\\u06FF\\s]+ 匹配给定列表中的一个或多个字符。 – 仅在字符类中充当范围运算符。
正则表达式怎么样
1
|
^(\\[1\\])\\[[\\p{L}\\s]+\\]$
|
示例:http://regex101.com/r/cU1nQ8/1
- \\p{L} 匹配来自任何语言的任何类型的字母
来源:https://www.codenong.com/27076600/