gpt4 book ai didi

java - 正则表达式字符串验证

转载 作者:行者123 更新时间:2023-12-02 11:52:18 25 4
gpt4 key购买 nike

尝试编写一些正则表达式来验证字符串,其中不允许使用 null 和空字符串,但应允许使用字符+换行符。我尝试验证的字符串如下:

First line \n
Second line \n

据我所知:

^(?!\s*$).+

由于新行,我的验证失败了。有任何想法吗?我应该补充一点,我不能使用 awk。

最佳答案

代码

以下正则表达式匹配整行。
See regex in use here

^[^\r\n]*?\S.*$

以下正则表达式的作用与上面相同,只是它们仅用于验证目的(它们不匹配整行,而是只是确保其格式正确)。与上述正则表达式相比,使用这些正则表达式的好处是步骤数(性能)。在下面的 regex101 链接中,它们显示为 28 个步骤,而上面的模式为 34 个步骤。
See regex in use here

^[^\r\n]*?\S

See regex in use here

^.*?\S
<小时/>

结果

输入

First line \n
Second line \n



s

输出

仅匹配

First line \n
Second line \n
s
<小时/>

说明

  • ^ 断言位置位于行首
  • [^\r\n]*? 匹配集合中不存在的任何字符(除回车符或换行符之外的任何字符)任意次数,但尽可能少(使其懒惰可以提高性能 - 减少步骤)
  • \S 匹配任何非空白字符
  • .* 匹配任何字符(不包括换行符)任意次数
  • $ 断言位置位于行尾

关于java - 正则表达式字符串验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47799853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com