我只需要找到这样的带连字符的文字,我为此制作了一些代码,但它有一些问题。
例如:-(PRX) - 是一种非甾体表面与体积比 - 由于水溶性差而表征。(关键) - 词"只有非甾体才有效。"
只允许使用一个连字符。如果一个单词中有2个连字符,那么它应该被忽略。
我的正则表达式是 - :
(((\b|,|'|.!|)(([a-zA-Z])+){0}-{1}(([a-zA-Z]+))(\b|,|'|.!)))
如图所示:红色圆圈表示必须忽略。
答案 0 :(得分:4)
如果你想获得只有一个连字符的单词,你可以使用这个正则表达式:
(?<!-)\b(\w+\-\w+)\b(?!-)
<强> Working demo 强>
但是如果你想获得连字符(带有多个连字符),你可以使用:
((?:\w+\-)+\w+)
<强> Working demo 强>