我有以下输入字符串:
key1 = "test string1" ; key2 = "test string 2"
我需要将其转换为以下内容而不进行标记化
key1="test string1";key2="test string 2"
最佳答案
不使用正则表达式会更好。
你应该做的是解析字符串。您描述的问题是一种迷你语言,因为该字符串中的每个点都有一个状态(例如“在带引号的字符串中”、“在关键部分中”、“赋值”)。
例如,当您决定要转义字符时会发生什么?
key1="this is a \"quoted\" string"
沿着字符串逐个字符移动,同时保持和更改状态。根据状态,您可以发出或省略刚刚读取的字符。
作为奖励,您将能够检测语法错误。
关于regex - 用于删除空格但不删除 ""内部空格的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2998014/