Regex 按空格分隔的select中间词的正则表达式

Regex 按空格分隔的select中间词的正则表达式,regex,ansible,Regex,Ansible,我想选择以“/”开头的单词,该单词位于行中的某个位置 示例 30 8 * * * /root/something > /dev/null 2>&1 30 8 * * * usr/bin/php /home/php/script/run.php 我想比赛 /root/something /home/php/script/run.php 我的正则表达式根本不起作用(使用Ansible) 这就产生了这样的输出 /root/something > /dev/null 2&g

我想选择以“/”开头的单词,该单词位于行中的某个位置

示例

30 8 * * * /root/something > /dev/null 2>&1
30 8 * * * usr/bin/php /home/php/script/run.php
我想比赛

/root/something
/home/php/script/run.php
我的正则表达式根本不起作用(使用Ansible)

这就产生了这样的输出

/root/something > /dev/null 2>&1
/home/php/script/run.php"
你可以用

r'\s(/\S+).*'

它将匹配一个空白(
\s
),然后将捕获
/
,然后将任何1+非空白字符(
\s+
)放入组1,然后将匹配行的其余部分(使用
*

另一个想法是:匹配序列
/
,如果不是以
/dev/null
开头,则匹配除
/
以外的1+字符:

r'(?<!\S)(?!/dev/null)(?:/[^/\s]+)+'
r'(?
r'(?<!\S)(?!/dev/null)(?:/[^/\s]+)+'