|
本帖最后由 jeanleem6 于 2018-10-12 10:52 编辑
不清楚你具体要达到什么目的,这里假设你要实现这样的功能:
原始数据:
- reference
- <link rel="stylesheet" type="text/css" href="wystjxsc_HW.css"><wystjxsc_HW>reference</wystjxsc_HW><div class="hkwd">n. 参考,出处,参照 n.推荐人,推荐函vt.提供参考</div>
- </>
复制代码 期望数据:- reference
- <link rel="stylesheet" type="text/css" href="wystjxsc_HW.css"><wystjxsc_HW>reference</wystjxsc_HW><div class="hkwd">
- <div class="item"><span class="type">n.</span><span class="explain">参考,出处,参照</span></div>
- <div class="item"><span class="type">n.</span><span class="explain">推荐人,推荐函</span></div>
- <div class="item"><span class="type">vt.</span><span class="explain">提供参考</span></div>
- </div>
- </>
复制代码 这里做了换行处理,主要是便于浏览,下面的正则替换没有做这个功能。
--------------------------
正则:
- ([a-zA-Z]+?)[ ]*?\.[ ]*?([\x{4e00}-\x{9fa5},,\.]+)
复制代码 替换:
- <div class="item"><span class="type">\1\.</span><span class="explain">\2</span></div>
复制代码
---------------------------
代码解释:
([a-zA-Z]+?) 这是用来提取词性(替换中的 \1)。如果要提取两个字母及以上:([a-zA-Z]{2,})[ ]*?\.
[ ]*? 这表示有0个或多个空格
([\u4e00-\u9fa5,,\.]+) 这是用来提取汉语解释(替换中的 \2)。考虑到多个汉语解释之间会有分隔符号,这里添加了中文的逗号,英文的逗号和句号(正则中英文句号是元字符,需要用 "\" 做转义处理),
也可能会有其它分隔符(比如:"、"、"/"、" "等,注意元字符要做转义处理),可以都加进去。
注意:如果你用sublime编辑器的话,汉字区间的表示有点不一样:[\x{4e00}-\x{9fa5}]
|
评分
-
3
查看全部评分
-
|