我正在构建 RiveScript 的聊天机器人子集,并尝试使用正则表达式构建模式匹配解析器。哪三个正则表达式与以下三个示例匹配?
ex1: I am * years old
valid match:
- "I am 24 years old"
invalid match:
- "I am years old"
ex2: what color is [my|your|his|her] (bright red|blue|green|lemon chiffon) *
valid matches:
- "what color is lemon chiffon car"
- "what color is my some random text till the end of string"
ex3: [*] told me to say *
valid matches:
- "Bob and Alice told me to say hallelujah"
- "told me to say by nobody"
通配符表示任何非空文本都是可接受的。
在示例 2 中,介于两者之间的任何内容[ ]
都是可选的,介于两者之间的任何内容( )
都是可选的,每个选项或替代选项都由 . 分隔|
。
在示例 3 中,the[*]
是可选通配符,表示可以接受空白文本。