Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Javascript 正则表达式中的通配符_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式中的通配符

Javascript 正则表达式中的通配符,javascript,regex,Javascript,Regex,我想创建一个正则表达式来查找单词tjuv(瑞典语中的小偷),它可以与其他单词组合(参见下面的示例)和/或以不同的共轭形式出现 示例: 赛克尔特朱夫 比尔特朱夫 特朱瓦纳 内爆TJUV 下面的一个适用于tjuv和tjuv(小偷的),但是其他的变位以及与其他单词的组合呢 /tjuv(?:s){0,1}/ig 既然我已经给你学了一点瑞典语,你应该给我学一些正则表达式;-) 编辑:更具体地说,我想不出哪种情况与tjuv这个词不符 我所做的是搜索存在tjuv一词的短语,例如(翻译成英语): 1。在波

我想创建一个正则表达式来查找单词tjuv(瑞典语中的小偷),它可以与其他单词组合(参见下面的示例)和/或以不同的共轭形式出现

示例:

  • 赛克尔特朱夫
  • 比尔特朱夫
  • 特朱瓦纳
  • 内爆TJUV
下面的一个适用于tjuv和tjuv(小偷的),但是其他的变位以及与其他单词的组合呢

/tjuv(?:s){0,1}/ig
既然我已经给你学了一点瑞典语,你应该给我学一些正则表达式;-)

编辑:更具体地说,我想不出哪种情况与tjuv这个词不符

我所做的是搜索存在tjuv一词的短语,例如(翻译成英语):

1。在波兰,家庭成员必须接受高等教育

我是法顿 据我所知,您正在查找包含
tjuv
之前和/或之后任何字符串的单词。在正则表达式中,通常可以使用点
表示任意字符。因此
tjuv.
匹配
tjuvA
tjuvX
tjuv
。。。 如果需要任意数量的此类字符,请使用星号
*
。使用
tjuvs.*
可以匹配
tjuvABC
tjuvs
tjuv
(然后星号扩展为零个字符!)

所以我认为
/.*tjuv.*/
可能是你想要的东西。但是,此处的
也匹配空白字符,因此regexp也匹配
某些xxxtjuvyyy somethingelse
,这可能不是您想要的


看到一些应该匹配(或不应该匹配)的单词可能会很好。除此之外,最好指定您正在使用的编程语言。

我认为这就是您想要的,前面和/或前面有其他字母的单词“tjuv”:

/[a-z]*tjuv[a-z]*/ig
看到了吗

但是
[a-z]
是一个字符类,它只覆盖ASCII字符a到z(由于
i
修饰符,因此不区分大小写)。但我认为瑞典语也有一些字符不包括在这个范围内

所以要么你

  • 将缺少的字符添加到字符类

  • 根据您的正则表达式风格,您可以使用
    \p{L}

    \p{L}
    是一个,匹配任何语言中的每个字母。然后看起来像:

      /\p{L}*tjuv\p{L}*/ig
    
    • 我不这么认为

      /.*tjuv.*/ 
      
      这很好。它匹配所有文本。这样更好:

      \w*(tjuv)\w*
      

      这与列表中的所有单词匹配。(所有的单词i中都有“tjuv”

      /tjuv(?:s){0,1}/ig
      太复杂了-用
      /tjuvs?/ig
      代替。首先是自行车小偷?那么仅仅是
      /.*tjuv.*/
      呢?@BryanGlazer:那么它真的那么简单吗?那将匹配被任何东西包围的
      tjuv
      。您需要更具体的内容吗?哪些类型的字符串不应该匹配?不匹配才是regex真正的特色。啊,明白了。但是/\p{L}*tjuv\p{L}/ig和\w*(tjuv)\w*(来自另一个答案)之间的区别是什么,这看起来不那么复杂?@holyredbeard,
      \w
      是一个预定义的字符类,称为“word character”,它包含字母、数字和下划线,这取决于基于Unicode或ASCII的正则表达式。好的,谢谢你的信息!有可能和其他带或字符的单词组合在一起吗/当然,这是一个很好的例子。试试我使用的Regexr链接,这是一个测试regex的好工具。
      \w*(tjuv)\w*