Javascript正则表达式选择不带特殊字符的单词

时间:2019-03-20 12:39:48

标签: javascript regex

我要匹配没有特殊字符(点,引号等)或空格的单词。我收到的文字

  

“üstlenmeyeceğimizinUST ”ürünlerin达哈sağlıklı已经zamanındaulaşabilmesisüstlenmeyeceğimizinşehirlerarasıotobüsşirketleriyleçalıştığımızıfakatısrarınızüstüneoluşabilecekgecikme veyasorunlarıüstlenmeyeceğimizinteyidini alarak kargoylagönderimsağladık。“ üstlenmeyeceğimizinGTEST ATESTüstlenmeyeceğimizind。测试测试UST SUST阵风.üstüst.büst她出售贝壳tüstatest ni anigrüst   












我想从此文本中选择üst,但是有一些类似下面的情况。

我不想在下面列出匹配的单词

  • ğüst
  • şüst
  • üstlenmeyeceğimizin
  • üstlenmeyeceğimizin

我要选择列出的单词

  • üst
  • üst(单词前有空格)
  • “üst

我写了这个正则表达式:[^a-zçğşöü]üst(?![a-zçğşöü]),但是这个正则表达式选择带有特殊字符的单词。我不要特殊字符。

我不希望选择单词是否有前导字母或空格,但是如果有任何特殊字符领先于该单词,我想选择没有该特殊字符的

3 个答案:

答案 0 :(得分:1)

如果您确实只想要这三个字:

  

我要选择列出的单词

     
      
  • .üst
  •   
  • üst(单词前有空格)
  •   
  • “üst
  •   

正如您在问题中所问的那样,那么就足够了:

[" .]üst\b

演示:https://regex101.com/r/kfMZxr/1/

如果现在您想在比赛中包括整个单词,请使用:

(?!şğ)[^\s]*üst(?!lenmeyeceğimizin)[^\s]*

https://regex101.com/r/kfMZxr/2

这将允许您在文本中以tüstgrüst以及büstüstüne进行匹配。

(基于:http://www.ecma-international.org/ecma-262/9.0/index.html

答案 1 :(得分:0)

您的文字中没有“üst,您的意思是”üstlenmeyeceğimizin吗? 任何方式都可以检查此[。\ s“]üst\ b,您可以对其进行测试  here

答案 2 :(得分:0)

我需要匹配单词并将其替换为html标签,例如:

class date:
..
..
    def today(cls):
    ..
    ..

我用此正则表达式解决了我的问题

üst -> <b>üst</b>

此正则表达式还匹配空格和特殊字符,但我将它们分组为正则表达式,然后在替换时从html标记中排除。

正则表达式测试:docs

工作示例:https://regexr.com/4amj3