尝试编写一些正则表达式来验证字符串,其中不允许使用null和空字符串,但应允许使用字符+换行符。我正在尝试验证的字符串如下:
First line \n
Second line \n
这是我得到的:
^(?!\s*$).+
由于新行,我的验证失败。有任何想法吗?我应该补充一下,我不能使用awk。
答案 0 :(得分:1)
以下正则表达式匹配整行 See regex in use here
^[^\r\n]*?\S.*$
以下正则表达式与上述相同,只是它们仅用于验证目的(它们不匹配整条线,而是简单地确保它正确形成)。使用这些正则表达式优于上述正则表达式的好处是步骤数(性能)。在下面的regex101链接中,它们显示为28步,而上述模式则为34 See regex in use here
^[^\r\n]*?\S
^.*?\S
First line \n
Second line \n
s
仅限匹配
First line \n
Second line \n
s
^
在行首处断言位置[^\r\n]*?
匹配集合中不存在的任何字符(除回车符或换行符之外的任何字符),但是尽可能少(使 lazy 提高绩效 - 减少步骤)\S
匹配任何非空白字符.*
任意次数匹配任何字符(不包括换行符)$
断言行尾的位置答案 1 :(得分:0)
尝试这种模式:
([\S ]*(\n)*)*