正则规则写法求助

使用问题 · 41 次浏览
liusha_zm 创建于 16天5小时前

大神,请教一个问题。我有如下的文本,想获取【=QSTART】前面的第一个【ZK)】。请问该怎么写规则?

 

原始文本

【=TH(】1.【=】【=QSTART】

...省略很多字

【ZK)】【ZK)】

【=TH(】2.【=】【=QSTART】

...省略很多字

【ZK)】【ZK)】

【=TH(】3.【=】【=QSTART】

...省略很多字

【ZK)】【ZK)】

 

目标文本

【=TH(】1.【=】【=QSTART】

...省略很多字

【ZK)】【=QEND】

【=TH(】2.【=】【=QSTART】

...省略很多字

【ZK)】【=QEND】

【=TH(】3.【=】【=QSTART】

...省略很多字

【ZK)】【=QEND】


回复内容
咿呀杀杀 16天4小时前
#1

查找:(?s)(【ZK\)】)\1(.+?【=QSTART】)

替换为:$1【QEND】$2



liusha_zm 16天3小时前
#2

非常感谢您的回答。

不好意思,我之前的例子可能比较规范,实际情况可能更复杂一些。是以下这种情况:


原始文本:

[=TH(]2.[=][=QSTART]

【变式】如图,在△ABC中,AD=CD=BC,∠CAB=32°.则∠BCD的度数是[=D(]52°[=].[ZK)]


[=TH(]9.[=][=QSTART]

如图,AC=AE,∠C=∠E,∠1=∠2.求证:AB=AD.

[=3(]

证明:[ZK(]∵∠1=∠2,∴∠1+∠EAC=∠2+∠EAC.∴∠BAC=∠DAE.

在△ABC和△ADE中,

[JB({]∠BAC=∠DAE,AC=AE,∠C=∠E,[JB)]

∴△ABC≌△ADE(ASA).

∴AB=AD.[ZK)]

[=][ZK)]


[=TH(]10.[=][=QSTART]

如图,在△ABC中,AB=AD=DC,∠BAD=26°.求∠B和∠C的度数.

[=03(]

解:[ZK(]∵AB=AD=DC,∴∠B=∠BDA,∠DAC=∠C.

∴∠B=∠BDA=[SX(]1[]2[SX)](180°-26°)=77°.

∵∠BDA=∠DAC+∠C,∴∠C=[SX(]1[]2[SX)]∠BDA=38.5°.

∴∠B=77°,∠C=38.5°.[ZK)][ZK)][=]


[=TH(]11.[=][=QSTART]

...[ZK)]


目标文本(将红框中的替换为[=QEND],就是标记题目的开始和结束位置)


咿呀杀杀 回复 liusha_zm 15天23小时前 :

查找:(?s).+

替换为:$= Regex.Replace($&, @"(?s)(\[=QSTART\].+?)\[ZK\)\]", "$$1[=QEND]", RegexOptions.RightToLeft)

温馨提示:
不要在底部的「回复主贴」输入框进行回复,
因为这样操作在逻辑上属于是你作为贴主的自我回复,
动作作者是收不到回复提醒的。
请直接在对方某条评论上“回复”。

回复主贴