2013-12-21 65 views
-1

我希望有一个正则表达式来检查以下字符串的格式 - [ {任何年} ] [环R {任何小数{与任何数量的单词的任何字符串}用1级精度等2.5} ] [ {任意字符串,大写} ] [ {任意字符串} ] 数< 10直到现在我想出了下面的正则表达式正则表达式的特定格式

/.*/\s[^\d{4}$]\s[R[0-9]+(\.[0-9]?)?]\s[[A-Z]*]\s[[A-Z]*] 

,但它仅适用于 [ {任何一年} ] [环R {任意十进制数< 10 1精度像2.5} ] [ {任意字符串,大写} ] [ {任意字符串} ]。我无法得到正确的第一部分。 例如字符串 - 一个好日子[1990] [R7.8] [XY] [文档]

+1

您可以定义 “有效期一年”? 44,1515,2037? –

+0

更正,现在可以请你帮忙吗? – Priyam

+0

'@“^。*?\ [\ d {4} \] \ s * \ [R \ d + \。\ d + \] \ s * \ [[AZ] + \] \ s * \ [[^ \ \ ]] * \] $“' – hwnd

回答

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 
0

这应该工作:

[\w\s]+\[.{0,3}[0-9]\]\s\[R[0-9]\.[0-9]\]\s\[[A-Z]+\]\s\[\w+\] 

我在正则表达式新手,所以请大家指正,如果任何修改作出。

+1

这是一个答案或问题? – ramaral