我有一个包含逗号的子字符串。此子字符串位于另一个字符串内,该字符串是以半冒号分隔的列表。我需要匹配该子字符串中的逗号。子字符串有一个关键字段" u3 ="在它面前。
示例:
df
到目前为止的正则表达式:
library(ggplot2)
library(plyr)
library(dplyr)
df <- df %>% mutate(sign = ifelse(IND1 > 0, "Pos", "Neg"))
ggplot(df, aes(x = Dep, y = IND1, fill = factor(sign))) + geom_bar(stat = "identity") + coord_flip()
我上面正在研究的正则表达式匹配&#34; u3&#34;之间的所有内容。和最后一个&#34 ;;&#34;在outerstring。我需要只匹配子字符串中的逗号。
非常感谢任何指导。
答案 0 :(得分:1)
您没有指定语言!
C#,VB(.NET):
使用无限正面的背后,
(?<=u3=[^;]*),
爪哇:
使用可变长度的正向外观:
(?<=u3=[^;]{0,9999}),
PHP(PCRE),Perl,Ruby:
使用\G
和\K
令牌:
(?>u3=|\G(?!^))[^,;]+\K,
JavaScript的:
使用两种replace()
方法(如果您要替换),
var s = 'u1=something;u2=somethingelse;u3=cat,matt,bat,hat;u4=anotherthing;u5=yetanotherthing';
console.log(
s.replace(/u3=[^;]+/, function(match) {
return match.replace(/,/g, '*');
})
)
答案 1 :(得分:0)
尝试使用此正则表达式:
(?<=u3)[^;]+
结果是:
=cat,matt,bat,hat
答案 2 :(得分:0)
如果这是PHP,我会这样做:
ffmpeg -i op.mp4 -ss 00:00:00.11 -t 00:00:06.00 -vn -y op.wav
ffmpeg -i op.mp4 -ss 0.010000 -t 00:00:06 -vcodec rawvideo -an -y op.avi
ffmpeg -i op.avi -i op.wav -b:v 590k -b:a 130k -t 00:00:06 -y op_fixed.mp4