我有以下字符串/path/to/my-jar-1.0.jar,我正在尝试为其编写 bash 正则表达式以提取my-jar.
现在我相信以下正则表达式会起作用:([^\/]*?)-\d但我不知道如何让 bash 运行它。
以下:echo '/path/to/my-jar-1.0.jar' | grep -Po '([^\/]*?)-\d'捕获my-jar-1
在 BASH 中,您可以执行以下操作:
s='/path/to/my-jar-1.0.jar'
[[ $s =~ .*/([^/[:digit:]]+)-[[:digit:]] ]] && echo "${BASH_REMATCH[1]}"
my-jar
Run Code Online (Sandbox Code Playgroud)
这里"${BASH_REMATCH[1]}"将打印捕获的组 #1,它是 first 中的表达式(...)。
| 归档时间: |
|
| 查看次数: |
7508 次 |
| 最近记录: |