我无法识别潜在的哈希字符。我正在使用以下模式来识别表单文件:id-1321952010.xml。其中一些文件可能在 id 之前包含一个 #,因此:#id-1321952010.xml 也需要被选中。
目前对于最初的案例,我有:
QRegExp rxLogFileFormat("\\b^[a-zA-Z]+\\-[0-9]{10,10}\\.[xml]{3,3}$\\b");
我试过添加“#?” 在边界之前但无法使其正常工作,任何人都可以提供帮助。
简单地#?
在边界之前添加将不允许正则表达式匹配#id-1321952010.xml,因为它会^
在您声明之前可能有一个散列之后搜索 sting ( ) 的开头,这是一个冲突的规则.
为此,请将字符串开始分隔符移动到正则表达式的开头,在单词 bound 之外:
^#?\\b[a-zA-Z]+\\-[0-9]{10,10}\\.[xml]{3,3}\\b$
(也将字符串结尾分隔符移到单词边界之外,以便更好地衡量)
根据@Mat 的评论,如果您匹配字符串的开头和结尾,您可能根本不需要单词边界,因为它们变得多余。
^#?[a-zA-Z]+\\-[0-9]{10,10}\\.[xml]{3,3}$