regex - 匹配字符串和一些字母的正则表达式
问题描述
我正在尝试为 Flex 程序找到一个正则表达式,该表达式将匹配一个“字符串”和该范围内存在的一系列字母[A-E]
。
我试图做的是获取输入具有“字符串”以及范围 [AE] 中存在 1 个或 2 个或 4 个或超过 4 个字母的情况。**<
到目前为止,我尝试的是正则表达式:"string "([A-E]{1,2}|[A-E]{4,})
字母在 {4,} 范围内的情况显然有效,但情况 {1,2} 则不起作用,因为如果用户输入“字符串”ABC 它将调用案例 [AE]{1,2}。
我考虑过使用带有 NOT 运算符的正则表达式,类似于 :"string "(NOT OPERATOR)([A-E]{3})
这样我就会得到每个“字符串”后面跟 3 个字母的其他任何内容的情况,但事实证明没有这样的运算符。
我能做些什么来解决这个问题?
提前感谢您提供的任何答案!
解决方案
是的,字符串“ABC”匹配[A-E]{1,2}
,因为您不坚持这些字母是指定字符串中的唯一内容(因此,“AB”匹配,而“C”只是因为某些其他原因而混入其中)。你应该坚持当正则表达式完成时,你已经到达了行/字符串的末尾:
^string ([A-E]{1,2}|[A-E]{4})$
或至少某种单词边界:
string ([A-E]{1,2}|[A-E]{4})\b
推荐阅读
- node.js - NodeJS 的 Amazon S3 SignatureDoesNotMatch 错误
- html - 为什么在我的css网格中最后有额外的网格单元?
- javascript - 在网络服务器上存储和接收 3d 文件的最佳方式
- gnu-parallel - GNU Parallel 中的“--max-args”和“--max-replace-args”之间的区别?
- django - URL 中的“https”但谷歌搜索结果中的“http”
- amazon-web-services - Lambda 调用 update_item,错误:Invalid UpdateExpression:运算符或函数的操作数类型不正确;运算符或函数:+,操作数类型:M
- django - ChoiceFields 在 html 模板和 django 中给出两种不同的形式或不同的字段
- python - 在 Python 中创建数组 N x 1?
- ruby - 如何在 CI 管道中使用 HTMLProofer 检查内部链接?
- linux - 使用 GNU sed 和 GNU find 时如何加速替换?