[英]Regex string validation
尝试编写一些正则表达式来验证字符串,其中不允许使用null和空字符串,但应允许使用字符+新行。 我要验证的字符串如下:
First line \n
Second line \n
据我所知:
^(?!\s*$).+
由于新行,这使我的验证失败。 有任何想法吗? 我应该补充,我不能使用awk。
以下正则表达式与整行匹配。
查看正则表达式在这里使用
^[^\r\n]*?\S.*$
以下正则表达式与上面的正则表达式相同,只是它们仅用于验证目的(它们与整行不匹配,相反,它们只是确保其格式正确)。 与上面的一个相比,使用这些正则表达式的好处是步骤数(性能)。 在下面的regex101链接中,它们显示为28步,而上面的模式为34。
查看正则表达式在这里使用
^[^\r\n]*?\S
^.*?\S
First line \n
Second line \n
s
仅匹配
First line \n
Second line \n
s
^
在行首处声明位置 [^\\r\\n]*?
多次匹配集合中不存在的任何字符(除回车符或换行符以外的任何字符),但次数要尽可能少(使这种惰性提高性能-减少步骤) \\S
匹配任何非空白字符 .*
任意次数匹配任意字符(不包括换行符) $
在行尾声明位置 试试这个模式:
([\S ]*(\n)*)*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.