Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
使regexp匹配字复杂化(可能吗?)_Regex_Utf 8 - Fatal编程技术网

使regexp匹配字复杂化(可能吗?)

使regexp匹配字复杂化(可能吗?),regex,utf-8,Regex,Utf 8,我希望正则表达式匹配所有不符合以下条件的希腊语(utf-8)单词: 以结尾 以- 以结尾。 以数字结尾(1-9) 从开始 从, 从- 第一个字母是大写 所有字母都是大写 这可能吗?为了匹配希腊文单词,我使用\p{Greek}{3,}匹配至少有3个字符的希腊文UTF-8单词 我用ruby编写程序,但如果可以用perl或任何其他cli工具/语言编写,我会编写一个脚本,将输出转储到文本文件中。(?)? (?<!\S)(?=\S*\p{Greek})(?![-,.\p{Lu}])(?![\p{

我希望正则表达式匹配所有不符合以下条件的希腊语(utf-8)单词:

  • 结尾
  • -
  • 结尾。
  • 以数字结尾(1-9)
  • 开始
  • -
  • 第一个字母是大写
  • 所有字母都是大写
这可能吗?为了匹配希腊文单词,我使用
\p{Greek}{3,}
匹配至少有3个字符的希腊文UTF-8单词

我用ruby编写程序,但如果可以用perl或任何其他cli工具/语言编写,我会编写一个脚本,将输出转储到文本文件中。

(?)?
(?<!\S)(?=\S*\p{Greek})(?![-,.\p{Lu}])(?![\p{Lu}\P{L}]+\b)\S+(?<![-.'1-9])(?!\S)
    > S+</代码>,中间由一组正反断言包围。 <代码>(?)-单词之前不能有非空白字符。这样我们就不会在单词的中间开始匹配。
  • (?=\S*\p{希腊文})
    -其中必须至少有一个希腊文字母
  • (?![-,.\p{Lu}])
    -单词不能以破折号、逗号、点或大写字母开头
    \p{Lu}
  • (?![\p{Lu}\p{L}]+\b)
    -单词不能都是大写字母和符号
  • (?
    
      (?
      
        > S+</代码>,中间由一组正反断言包围。 <代码>(?)-单词之前不能有非空白字符。这样我们就不会在单词的中间开始匹配。
      • (?=\S*\p{希腊文})
        -其中必须至少有一个希腊文字母
      • (?![-,.\p{Lu}])
        -单词不能以破折号、逗号、点或大写字母开头
        \p{Lu}
      • (?![\p{Lu}\p{L}]+\b)
        -单词不能都是大写字母和符号
      • (?
        
      这是一个开始,但对我不起作用:但它可能是一个起点。@atmosx什么单词不正确(不)匹配?你能把它们粘贴到这里让我测试吗?我有。在上使用正则表达式我匹配以下不需要的单词:
      [code>][code>-它有一个
      [
      &它的大写字母,
      修复了,所以它不匹配
      [ETYM
      与您的代码无关,但Ruby的拉丁脚本实现似乎存在缺陷-大写英文字母字符不匹配。这是一个开始,但对我不起作用:但它可能是一个开始。@atmosx哪些单词不正确(不正确)匹配?你能把它们粘贴在这里让我测试吗?我有。在上使用你的正则表达式,我匹配以下不需要的单词:
      [代码]-它有一个
      [
      &它的大写字母,
      固定了,所以它不匹配
      [ETYM
      与您的代码无关,但Ruby的拉丁脚本实现似乎存在缺陷-大写英文字母字符不匹配。