Regex 如果元素以数字开头,则don';不要选择结束号码
我正在尝试为杜比数字频道选择文本,缩写为Regex 如果元素以数字开头,则don';不要选择结束号码,regex,Regex,我正在尝试为杜比数字频道选择文本,缩写为DD,DDP,DD+,等等 我遇到的问题是,如果元素已经以5.1或5,(十进制或整数)开头,我不希望它在后面选择任何数字,因为它可能会意外选择属于不同元素的数字 正则表达式 我使用\040作为空白,但我更愿意使用\s,但它选择了多行 我尝试过向前看和向后看,但都没有成功 要全部选中吗 DDP 5.1 DD+ 5.1 DD 5.1 DDP5.1 DD+5.1 DD5.1 5.1 DDP 5.1 DD+ 5.1 DD 5.1DDP 5.1DD+ 5.
DD
,DDP
,DD+
,等等
我遇到的问题是,如果元素已经以5.1
或5
,(十进制或整数)开头,我不希望它在后面选择任何数字,因为它可能会意外选择属于不同元素的数字
正则表达式 我使用
\040
作为空白,但我更愿意使用\s
,但它选择了多行
我尝试过向前看和向后看,但都没有成功
要全部选中吗
DDP 5.1
DD+ 5.1
DD 5.1
DDP5.1
DD+5.1
DD5.1
5.1 DDP
5.1 DD+
5.1 DD
5.1DDP
5.1DD+
5.1DD
要全部选中吗
DDP 5.1
DD+ 5.1
DD 5.1
DDP5.1
DD+5.1
DD5.1
5.1 DDP
5.1 DD+
5.1 DD
5.1DDP
5.1DD+
5.1DD
不希望选择5.1
结尾
5.1 DDP 5.1
5.1 DD+ 5.1
5.1 DD 5.1
5.1DDP5.1
5.1DD+5.1
5.1DD5.1
不希望选择结束的单个编号5
5.1 DDP 5
5.1 DD+ 5
5.1 DD 5
5.1DDP5
5.1DD+5
5.1DD5
您可以使用匹配的或以下格式之一:
\b(?:DDP|DD\+?)\s?5\.1|5\.1\s?(?:DDP|DD\+?)
单词边界\b
非捕获组(?:
匹配DPP或DD和可选的DDP | DD\+?
+
关闭组)
匹配意见空格字符和\s?5\.1
5.1
或|
匹配5\.1\s?
和可选空白字符5.1
非捕获组(?:
匹配DPP或DD和可选的DDP | DD\+?
+
关闭组)
\b(?:DDP|DD\+?)\s?\d+(?:\.\d+)?|\d+(?:\.\d+)?\s?(?:DDP|DD\+?)
\b(\d+(?:\。\d+)\s?(DD(?:p\+)\s?(?(1)|([。\s]?\d+(?:\。\d+)?\b)
?请看。感谢您对一个相当复杂的问题的清晰陈述,特别是包含了大量的示例。您的解决方案和Wiktor的工作都很好,我只是在做更多的测试。