我已经尝试解决这个问题很长时间了,但就是做不到。
它可以是任何字符串,但这是一个示例:
"\This string \contains some\ backslashes\"
我需要制作一个正则表达式,我可以用它来检查字符串是否包含单个反斜杠。
然后我需要将给定的字符串转换为(我可以进行转换):
"\\This string \\contains some\\ backslashes\\"
然后使用正则表达式检查字符串是否不再包含单个反斜杠。
顺便说一句,我不必为此使用正则表达式,我只需要能够以某种方式检查字符串。
看来您只想检查字符串是否部分匹配正则表达式模式,即它是否包含前面或后面都没有反斜杠的文字反斜杠。
Use
(?<!\\)\\(?!\\)
See the 正则表达式演示.
示例 Scala 代码:
val s = """"\This string\\ \contains some\ backslashes\""""
val rx = """(?<!\\)\\(?!\\)""".r.unanchored
val ismatch = s match {
case rx(_*) => true
case _ => false
}
println(ismatch)
See the Scala 在线演示.
Note:
-
"""(?<!\\)\\(?!\\)""".r.unanchored
- 此行声明一个正则表达式对象并使模式取消锚定,以便不再需要完整的字符串匹配match
block
- Inside
match
, 我们用case rx(_*)
因为模式本身内部没有定义捕获组
- 该模式的含义是:匹配反斜杠 (
\\
) 前面没有反斜杠 ((?<!\\)
) 并且后面没有反斜杠 ((?!\\)
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)