我需要选择一部分字符串,并使用正则表达式检查这两个条件:
我可以用if条件做到这一点,但我希望找到一个正则表达式。 例如:
我需要这个来实现php函数限制长注释的显示,例如最多15个字符和3行左右。使用preg_match()。
答案 0 :(得分:1)
正则表达式:
<machineKey
decryption="Auto"
validation="SHA1"
validationKey="9815F5A1AA9DB2F6A370548D58304A21F0792D63A08A1B34BD498059F65DA1484A783187CF798B40BED1E519BA40DBE9E135E952D319D2F8AA55D852CD77EE73"
decryptionKey="DFD8FF5374C89B18746D58DE864224C4A941622431550A3E"
compatibilityMode="Framework45"/>
它在前瞻构造(?=^.{0,15}(.*$))(?|((?:(?:(?!\1$|br).)*br(?:(?!\1$|br).)*){1,2})|(.{0,15})(?=\1$))
中捕获前15个字符(如果总共有较少的字符,则为更少),然后检查最近捕获后是否最多出现{1}}个,一次或两次出现(?=...)
字符。
如果前15个字符中没有br
,则查看替换的另一侧br
,如果放置一个或两个(.{0,15})(?=\1$)
,则交替的第一侧成功{ {1}}
第二个捕获组包含所需的输入字符串块。