gpt4 book ai didi

regex - 绝妙的正则表达式。匹配行首

转载 作者:行者123 更新时间:2023-12-01 09:50:27 24 4
gpt4 key购买 nike

我对 Groovy 的正则表达式行为有点困惑。

"dog" == /dog/ - return true

"dog" == /^dog/ - return false

我的理解是 ^ 匹配行的开头,因此第二个表达式也应该返回 true。

我实际上想做的是用

替换行首的“#”
line = line.replace(/^#/, '')

但是“#”没有被删除

最佳答案

在 Groovy 中,有很多方法可以声明字符串,即;

println( 'foo' ) // regular string
println( '''foo''' ) // multiline string
println( "foo" ) // templatable string
println( """foo""" ) // multiline templatable string
println( /foo/ ) // slashy string
println( $/foo/$ ) // dollar slashy string (also multiline)

以上都是字符串,所以:

"dog" == /dog/ - return true

由于两边都是一个字符串(而且是同一个字符串),所以它们彼此相等

如果要进行模式匹配,需要==~操作符:

"dog" ==~ /^dog/ 

返回真。不确定为什么你的 replaceAll 中有 ):

def line = '#Foo'
line.replaceAll( /^#/, '' ) == 'Foo'

返回真

关于regex - 绝妙的正则表达式。匹配行首,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16179189/

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