我在PL / SQL中编写了一个正则表达式来验证自定义URL:
'^((http|https):\/\/)?(www[0-9]\.)?(([A-Za-z0-9_-])+\.{1})+([A-Za-z]{2,4}|\'
|| START_CHAR || '[^' || START_CHAR || END_CHAR || ']+\' || END_CHAR ||
')(\/([A-Za-z0-9_-]|\' || START_CHAR || '[^' || START_CHAR || END_CHAR ||
']+\' || END_CHAR || ')+)*(\/)?$'
START_CHAR
和END_CHAR
是两个不同的常量字符。在我的上述正则表达式中,START_CHAR
重复(四次)。
如何使用单个START_CHAR
和END_CHAR
重写它?
答案 0 :(得分:0)
你不需要。正则表达式被编译为NFA,也可能是已经压缩所有重复的DFA。保持清晰,保持简单,让计算机付出艰苦的努力。