匹配行中没有任何字符的模式

时间:2018-11-04 12:19:23

标签: regex

使用正则表达式,我要确保定义了所有变量。

因此,正则表达式应匹配所有字符串(无论空格数如何),这些字符串后跟等号,并且该行后不包含任何字符。但是等号后面可以有空格,制表符(除字符外)都可以。

Here's the opposite of what I'd like to get([^\s]+).*=.*([,\S]+)

// SELECT THESE ONES
const okOne =    
const okTwo=
okThree=
var okFour=

// DON'T GET THESE ONES
const badOne = "badOne"
const badTwo=  "badTwo"
badThree=3
var badFour=$s

3 个答案:

答案 0 :(得分:2)

尝试以下操作:^.*?=\W*$

regexr.com/42fbi

它将匹配等号(非贪婪)之前的所有内容,然后匹配=,然后匹配任何非字符(\W)。

答案 1 :(得分:1)

非常简单,请尝试以下操作; ^.*=\s*$

在每行^$中,以等号.*=开头的任何内容,除了空白或在第\s*行的末尾都应该没有空格

check online

答案 2 :(得分:1)

您可以匹配任何不贪心的字符,直到第一个等号为止。然后将0+乘以空格或制表符。

^.*?=[ \t]*$

说明

  • ^字符串的开头
  • .*?匹配任何不贪心的字符
  • =字面上匹配
  • [ \t]*字符类,其匹配0+倍的空格或制表符
  • $行尾

Regex demo