如何解决正则表达式检测单行
需要正则表达式来检测单行字符串,我试过这个正则表达式 \"(\\.|[^"\\])*\"
但这也适用于多行
输入:
示例:
this is a "string
and the string ends here"
我希望正则表达式只检测第一行中的字符串(“字符串”)
我该怎么办?
解决方法
您的正则表达式可以识别多行,因为
[^"\\]
接受换行符:它接受除引号 ("
) 或反斜杠 (\
) 以外的任何内容,并且换行符既不是引号也不是反斜杠。将换行符 (\n
) 添加到排除字符列表中。
请注意,在 (f)lex 中,.
实际上表示 [^\n]
:除换行符以外的任何内容。这并不意味着“匹配任何东西”。所以 \\.
匹配反斜杠后跟除换行符以外的任何内容。但是许多语言也允许您使用反斜杠来转义换行符:
"This long string is \
continued on a second line."
当然,这不是必需的,字符串文字连接可能是一种更有用的语法。这完全取决于您的具体要求。
,(.*)\n
我觉得这些就够了吗?
\A(.*)\n
如果有两行以上,这会有所帮助
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。