我希望REGEX检查以下字符串的格式 - {包含任意数量字词的任意字符串} [ {任何年份} < strong>] [ R {任意十进制数&lt; 10,精度为1,精度为2.5} ] [ {任意字符串,大写字母} ] [ {any string} < /强> 的 直到现在我已经提出以下REGEX
/.*/\s[^\d{4}$]\s[R[0-9]+(\.[0-9]?)?]\s[[A-Z]*]\s[[A-Z]*]
但它只适用于 [ {任何年份} ] [ R {任意十进制数&lt; 10,1精度,如2.5} ] [ {any string,Upper Case} < / strong> ] [ {any string} ] 。我无法让第一部分正确。 字符串例如 - 一个好日子[1990] [R7.8] [XY] [文件] 。
答案 0 :(得分:0)
这应该有效:
[\w\s]+\[.{0,3}[0-9]\]\s\[R[0-9]\.[0-9]\]\s\[[A-Z]+\]\s\[\w+\]
我是正则表达式的新手,所以如果要进行任何修改,请更正。
答案 1 :(得分:0)
也许是这样的
# @"^.+?[ ]\[\d{4}\][ ]\[R\d\.\d\][ ]\[[A-Z]+\][ ]\[.+?\]$"
^ # BOS
.+? # {Any String with any number of words}
[ ] # space
\[ \d{4} \] # [{any year}]
[ ] # space
\[R \d \. \d \] # [R{any decimal number <10 with 1 precision like 2.5}]
[ ] # space
\[ [^a-z]+ \] # [{any string, Upper Case}]
[ ] # space
\[ .+? \] # [{any string}]
$ # EOS