【发布时间】:2009-05-27 09:57:29
【问题描述】:
我正在寻找一个正则表达式,它将用一些常量字符串值(例如“string”)替换输入源代码中的字符串,并且还将考虑转义由双精度表示的字符串起始字符字符串开始字符(例如“他说”“你好”“”)。
为了澄清,我将提供一些输入和预期输出的示例:
input: print("hello world, how are you?")
output: print("string")
input: print("hello" + "world")
output: print("string" + "string")
# here's the tricky part:
input: print("He told her ""how you doin?"", and she said ""I'm fine, thanks""")
output: print("string")
我正在使用 Python,但我想这与语言无关。
编辑:根据其中一个答案,此要求可能不适合正则表达式。我不确定这是不是真的,但我不是专家。如果我尝试用单词来表达我的要求,我正在寻找的是找到双引号之间的字符集,其中即使是相邻的双引号组也应该被忽略,这听起来像是可以通过一个 DFA。
谢谢。
【问题讨论】:
-
你能说得更具体点吗?我完全不明白你的问题。例如,为什么“hello”+“word”会与“helloword”不同?
-
我正在解析代码。如果解析器能够找出“hello”+“world”与“helloworld”相同,那将是一个不错的奖励,但不是必需的。我希望能澄清它。