代码之家  ›  专栏  ›  技术社区  ›  Anthony Potts

外语正则表达式

  •  2
  • Anthony Potts  · 技术社区  · 14 年前

    我有一个函数,我在各种文件中使用了很多次,这些文件具有如下签名:

    Translate("English Message", "Spanish Message", "French Message")
    

    我想把英语、西班牙语和法语的信息提取出来,然后输出成一个csv,这样那些真正了解这些语言的人就可以告诉我应该在里面放些什么了。

    不管怎样,我遇到的是一些法语和西班牙语的消息不会出现,因为重音字符和单引号。

    这是一个vb.net程序。

    编辑

    语言没有问题,我的问题实际上是正则表达式,我完全不理解正则表达式。

    2 回复  |  直到 14 年前
        1
  •  1
  •   anselm    14 年前

    取决于您使用的regex库。SANE regex实现使用UTF-8,并且没有这样的问题,但是关于您使用的语言、什么regex库等,更多的细节将是有用的。

        2
  •  1
  •   nikola    14 年前

    如果在语言的regex实现中有一个dotall标志,您可能需要设置它。

    或者,更改regex以捕获否定的字符类,如下所示:

    ([^your_delimiter]*?)
    

    其中,分隔符是要捕获的字符串后面的一个或多个字符。

    进一步讨论请参见:

    http://en.wikipedia.org/wiki/Regular_expression#Unicode