小编use*_*127的帖子

正则表达式找到破折号的实例,但不是<space>破折号<space>

我太近了.我正在尝试使用Notepad ++的代码表示正则表达式,用空格替换短划线,忽略已经有前/后空格的破折号.我意识到我可以用"foobarfoo"搜索/替换" - "然后搜索" - "替换为""然后将"foobarfoo"转换回" - ",但是该死的 - 我正在尝试学习正则表达式!

这是我的问题:

适配器 - BNC公头至BNC母头,直角

适配器 - BNC公头到BNC母头,直角

(注意"BNC女"中消失的短划线)

我最接近的是使用这个: /(?:[^( )])\-(?:[^( )])/g

但结果是它找到前面的单个字母,破折号和下面的单个字母:

适配器 - BNC公头到BN C-F emale,直角

为什么选择前/后字符?这不是:

(?:[^( )]) 找到除空间之外的任何东西(作为非捕获组)......

\- ......紧接着......

(?:[^( )]) ...除了空格之外的任何东西(作为非捕获组)

我更接近的是我替换了第一个术语,(?=[^( )])但是如果我将第三个术语更改为(?![^( )])我回到我开始的地方 - 只需在两个空格之间选择短划线.GRRRR.

更多样本请访问http://regexr.com/444i2

regex notepad++

4
推荐指数
1
解决办法
307
查看次数

标签 统计

notepad++ ×1

regex ×1