[问题] 有没有办法用 Regex 检查对话框?

楼主: flirmnave (焰离雨星)   2021-11-26 14:19:18
在文字小说中,通常以 “” 中间放入人物的对话,
而有些可能是作者忽略了,有上括号(“)但没有下括号(”)来结束对话。
要找合法的 “” 可以用:
“\S*?”
可以看 regex101 的测试:https://regex101.com/r/ZwY1Ns/1
测试网址中,可以找到合法的对话,
例如:“便是杨过!”、“这一次我可猜不中了。”,上面两个例子都有完整的“”。
目标是找到:“郭靖谨候台驾。、“你猜这神雕侠是谁?郭靖道:“我猜不出。”
上述两种只有上括号但没有下括号的句子。
不晓得这种需求有没有可能以 Regex 达成?
谢谢。
(我知道可以写程式用 Stack 的方式来检查,例如 Leetcode 20. Valid Parentheses)
作者: LPH66 (-6.2598534e+18f)   2021-11-26 15:31:00
上两篇我跟其他人提过检查合法性要有支援递回 (?R) 的才行有点不太确定检查不合法括号有没有办法...噢, 你的引号不会巢状包含, 那这样其实很简单查找所有上引号之后的下一个引号还是上引号就是了我一楼说的是会巢状包含的引号才会是那样实际做法大概像是 /“(?=[^“”]*“)/用 ?= 做 lookahead 检查其下一个引号 (在不是引号后的字)是否是个上引号
楼主: flirmnave (焰离雨星)   2021-11-26 19:52:00
了解,感谢 LPH66 说明!

Links booklink

Contact Us: admin [ a t ] ucptt.com