嗨即时通讯使用这个正则表达式:正则表达式只捕获第二occurence
.*@.*\:.*#\s(.*)
在这样的文字:
[email protected]:/opt/test# cd /opt/blabla/¢ ־.P־.®Z[P§..P.#ְ״[email protected]:/opt/testo# nano /etc/d× ־.P־.®Z[_§..
和正则表达式只捕获
nano /etc/d× ־.P־.®Z[_§..
我想只捕捉命令cd /opt/blabla
和nano /etc/d
为什么正则表达式不捕捉cd /opt/blabla
?
编辑: 我想首先把所有非ASCII字符空格现在的文字是这样的:
'[email protected]:/opt/volatility# cd /opt/Kazaar/ .P . Z[P ..P.# [email protected]:/opt/Kazaar# nano /etc/d .P . Z[_ ..'
每条命令空间结束,所以我改变了正则表达式:
""".*@.*\:.*#\s(.*)\s"""
但是它仍然只捕获没有cd的nano命令。
访问比赛UNIX命令工作,我建议你有一个玩例如https://regex101.com/r/nP0mW2/1 – jonrsharpe
因为它与正则表达式不匹配,所以在预期的匹配中你会在哪里看到'@'?你的问题不清楚。 – Maroun
看看[这个演示](https://ideone.com/PMlGIe),你在找什么? –