Regex 用于拆分字符串的正则表达式,使用空格,除非在引号和括号内
我正在学习使用正则表达式,我创建了Regex 用于拆分字符串的正则表达式,使用空格,除非在引号和括号内,regex,Regex,我正在学习使用正则表达式,我创建了[\”“].+?[\”“].[^]+来拆分字符串如果“1”+“1”=“是和否”,那么“1”其他0。 这很好地分割了我的字符串,如下所示: 如果 “1” + “1” = “是和否” 然后 “1” 否则 0 现在我想让我的正则表达式拆分这个字符串IF(“1”+“1”)=“Yes And No”,然后“1”ELSE 0,使用带引号和空格的相同规则,但如果引号在括号内,则忽略它们。字符串应拆分为: 如果 (“1”+“1”) = “是和否” 然后 “1” 否则 0
[\”“].+?[\”“].[^]+
来拆分字符串如果“1”+“1”=“是和否”,那么“1”其他0
。
这很好地分割了我的字符串,如下所示:
- 如果
- “1”
- +
- “1”
- =
- “是和否”
- 然后
- “1”
- 否则
- 0
IF(“1”+“1”)=“Yes And No”,然后“1”ELSE 0
,使用带引号和空格的相同规则,但如果引号在括号内,则忽略它们。字符串应拆分为:
- 如果
- (“1”+“1”)
- =
- “是和否”
- 然后
- “1”
- 否则
- 0
我如何通过常规表达式和解释来实现这一点,这样我也可以了解它是如何实现的?我想你可以使用正则表达式:
\([^\]+?[\)].+?[\\\].[\\\\].[\\\\].[\\\\\].[^]+
这基本上是你的正则表达式,还有另一个选择,它在开始时考虑一个括号,并匹配所有内容直到结束括号。正则表达式的其余部分是您以前定义的可选项(例如,将引号和单词中的字符与空格作为分隔符进行匹配)
演示可以在这里看到:
*请注意,regex101是理解正则表达式的一个很好的源代码(检查调试视图,您可以很容易地在这里发布示例以供将来提问。我认为您可以使用regex:
\([^\)]+?[\)].+?[\”“].+?[\”“].[^]+
这基本上是你的正则表达式,还有另一个选择,它在开始时考虑一个括号,并匹配所有内容直到结束括号。正则表达式的其余部分是您以前定义的可选项(例如,将引号和单词中的字符与空格作为分隔符进行匹配)
演示可以在这里看到:
*请注意,regex101是理解正则表达式的良好来源(查看“调试”视图,您可以很容易地在此处发布示例以供将来提问。您可以简单地尝试和试验所有详细说明的选项。您可以简单地尝试和试验所有详细说明的选项。感谢网站推荐!感谢网站推荐!