我有以下內容的文件input.txt中:猛砸正則表達式匹配*太遠
foo
[assembly: AssemblyVersion("1.2.3")]
bar")]
quux
以匹配輸入,使用下面的腳本1.2.3
:
#!/bin/bash
regex='\[assembly: AssemblyVersion\("(.*)"\)\]'
fileContent=$(cat input.txt)
[[ "$fileContent" =~ $regex ]]
echo "${BASH_REMATCH[1]}"
我預計輸出爲1.2.3
,但它是:
1.2.3")]
bar
這是爲什麼?如何解決它?
正則表達式測試程序https://regex101.com按預期工作。
貪婪。嘗試''\ [彙編:AssemblyVersion \(「([^()] *)」\)\]''。 –
@stribizhev哇,很好,確實有效。非常感謝! – alvarez