gpt4 book ai didi

java - 需要正则表达式 : It should match for following patterns

转载 作者:行者123 更新时间:2023-11-29 10:07:29 26 4
gpt4 key购买 nike

有效:

  1. ((int)10)
  2. (int)10
  3. ((char)((x+y)&1))
  4. ((int *)1)

无效:

  1. (a-b)
  2. (a&=b)
  3. 一个
  4. ((a))

最佳答案

(平衡)括号表达式的语言是非正则,即,您不能编写匹配此类字符串的正则表达式。

参见 SO question: Why are regular expressions called "regular" expressionsWikipedia: Regular Languages .

您需要使用更强大的解析技术,例如 CFG,例如 ANTLR .

您可以从以下内容开始:

CastedExpression ::= Cast Expression | LPAR CastedExpression RPAR
Cast ::= LPAR Type RPAR
Expression ::= Sum | Product | Litteral | LPAR Expression RPAR | ...
Type ::= char | int | Type ASTERISK | ...

(如果您发现任何明显的改进,请随时编辑上面的语法)。

关于java - 需要正则表达式 : It should match for following patterns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com