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