如何在正则表达式中使用Unicode

洛基

我正在编写一个正则表达式来查找与文本文件中的Unicode字符匹配的行

!Regex.IsMatch(colCount.line, @"^"[\p{IsBasicLatin}\p{IsLatinExtended-A}\p{IsLatinExtended-B}]"+$")

以下是我编写的完整代码

var _fileName = @"C:\text.txt";

BadLinesLst = File
              .ReadLines(_fileName, Encoding.UTF8) 
              .Select((line, index) =>
               {
                 var count = line.Count(c => Delimiter == c) + 1;
                     if (NumberOfColumns < 0)
                           NumberOfColumns = count;

                             return new
                             {
                                 line = line,
                                 count = count,
                                 index = index
                             };
               })
               .Where(colCount => colCount.count != NumberOfColumns || (Regex.IsMatch(colCount.line, @"[^\p{IsBasicLatin}\p{IsLatinExtended-A}\p{IsLatinExtended-B}]")))
               .Select(colCount => colCount.line).ToList();

文件包含以下行

264162-03,66,JITK,2007,12,874.000,0.000,0.000

6420–50-00,67,JITK,2007,12,2292,000,0.000,0.000

4804¥75-00,67,JITK,2007,12,1810.000,0.000,0.000

如果该行的文件包含除BasicLatin或LatinExtended-A或LatinExtended-B之外的任何其他字符,那么我需要获取这些行。上面的正则表达式无法正常工作,这也显示了包含LatinExtended-A或B的那些行

威克多·斯特里比尤

您只需要将Unicode类别类放入否定的字符类中

if (Regex.IsMatch(colCount.line, 
         @"[^\p{IsBasicLatin}\p{IsLatinExtended-A}\p{IsLatinExtended-B}]")) 
{ /* Do sth here */ }

此正则表达式将查找部分匹配项(因为Regex.IsMatchfinds模式在较大的字符串中匹配)。该模式将匹配\p{IsBasicLatin}\p{IsLatinExtended-A}\p{IsLatinExtended-B}Unicode类别集中的任何字符

您可能还需要检查以下代码:

if (Regex.IsMatch(colCount.line, 
     @"^[^\p{IsBasicLatin}\p{IsLatinExtended-A}\p{IsLatinExtended-B}]*$")) 
{ /* Do sth here */ }

如果整个这将返回truecolCount.line字符串不包含从否定的字符类指定的3类的Unicode类的任何字符-或-如果字符串是空的(如果你想禁止取空字符串,替换*+末)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++正则表达式中使用Unicode范围

来自分类Dev

如何在Realm中使用正则表达式

来自分类Dev

如何在Java的正则表达式中使用OR?

来自分类Dev

如何在angularjs中使用正则表达式

来自分类Dev

如何在yii中使用正则表达式

来自分类Dev

如何在SMLNJ中使用正则表达式

来自分类Dev

如何在熊猫中使用正则表达式?

来自分类Dev

如何在yii中使用正则表达式

来自分类Dev

如何在php中使用正则表达式?

来自分类Dev

如何在正则表达式中使用加号

来自分类Dev

如何在iptables中使用正则表达式

来自分类Dev

如何在正则表达式函数中使用

来自分类Dev

如何在正则表达式中使用“[”和“]”

来自分类Dev

如何在python中使用正则表达式?

来自分类Dev

如何在绑定表达式中使用正则表达式文字?

来自分类Dev

在正则表达式中使用Unicode块

来自分类Dev

如何在文件中使用::作为正则表达式的正则表达式serde

来自分类Dev

如何在正则表达式中存储值以在同一正则表达式中使用

来自分类Dev

如何在grep中使用正则表达式(仅基本正则表达式)实现替换?

来自分类Dev

如何在NiFi表达式语言中使用正则表达式捕获组变量?

来自分类Dev

如何在使用morphia的查询中使用正则表达式?

来自分类Dev

如何在PostgreSQL中使用正则表达式删除字段匹配模式的结尾?

来自分类Dev

如何在Python的正则表达式中使用带括号的*或+?

来自分类Dev

如何在python正则表达式中使用变量?

来自分类Dev

如何在猫鼬中使用正则表达式查找项目

来自分类Dev

如何在Javascript中使用正则表达式提取可选查询参数

来自分类Dev

如何在grep -E中使用负正则表达式匹配?

来自分类Dev

如何在C ++中的正则表达式中使用变量?

来自分类Dev

如何在ruby中使用正则表达式获取html类值

Related 相关文章

  1. 1

    如何在C ++正则表达式中使用Unicode范围

  2. 2

    如何在Realm中使用正则表达式

  3. 3

    如何在Java的正则表达式中使用OR?

  4. 4

    如何在angularjs中使用正则表达式

  5. 5

    如何在yii中使用正则表达式

  6. 6

    如何在SMLNJ中使用正则表达式

  7. 7

    如何在熊猫中使用正则表达式?

  8. 8

    如何在yii中使用正则表达式

  9. 9

    如何在php中使用正则表达式?

  10. 10

    如何在正则表达式中使用加号

  11. 11

    如何在iptables中使用正则表达式

  12. 12

    如何在正则表达式函数中使用

  13. 13

    如何在正则表达式中使用“[”和“]”

  14. 14

    如何在python中使用正则表达式?

  15. 15

    如何在绑定表达式中使用正则表达式文字?

  16. 16

    在正则表达式中使用Unicode块

  17. 17

    如何在文件中使用::作为正则表达式的正则表达式serde

  18. 18

    如何在正则表达式中存储值以在同一正则表达式中使用

  19. 19

    如何在grep中使用正则表达式(仅基本正则表达式)实现替换?

  20. 20

    如何在NiFi表达式语言中使用正则表达式捕获组变量?

  21. 21

    如何在使用morphia的查询中使用正则表达式?

  22. 22

    如何在PostgreSQL中使用正则表达式删除字段匹配模式的结尾?

  23. 23

    如何在Python的正则表达式中使用带括号的*或+?

  24. 24

    如何在python正则表达式中使用变量?

  25. 25

    如何在猫鼬中使用正则表达式查找项目

  26. 26

    如何在Javascript中使用正则表达式提取可选查询参数

  27. 27

    如何在grep -E中使用负正则表达式匹配?

  28. 28

    如何在C ++中的正则表达式中使用变量?

  29. 29

    如何在ruby中使用正则表达式获取html类值

热门标签

归档