正则表达式验证(正则表达式验证日期格式)
本篇文章给大家谈谈正则表达式验证,以及正则表达式验证日期格式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
正则表达式js验证
所求正则表达式如下:
^(?!.*\)\d)(?!.*[+\-*/]([+\-*/]|\)))(?!.*\([+*/])(?!.*(\d|\))\()(?=\d|\-|\()(?=.*(\d|\))$)(?![^\(]*\))(?!.*\([^\)]*$)[\d+\-*/\(\)]*$
解释:
^
(?!.*\)\d) #规则A,不允许右括号后接数字
(?!.*[+\-*/]([+\-*/]|\))) #规则B,不允许符号后面接符号或右括号
(?!.*\([+*/]) #规则C,不允许高槐左括号后接运算符(- 可以表示负号)
(?!.*(\d|\))\() #规则D,不允许左括号前有数字或右括号
(?=\d|\-|\() #规则E,字符串开头必须是,数字,负号,左括号中的一个
(?=.*(\d|\))$) #规则F:结尾必须是数字或者右括号
(?![^\(]*\)) #规则H:右括号的左边至少存在一个左括号
(?!.*\([^\)]*$) #规则G:左括号的右边至少存在一个右括号
[\戚桥友d+\-*/\(\)]* #开始匹配,字符串由数字,符号和括号组成
$
没考虑空格的情况,如果接受空格的输消正入,请自行添加。
JS是做不到限制小括号一一对应的,只有使用.NET的平衡组才能实现这个效果。
加入平衡组的正则表达式为:
^(?!.*[^\d+\-*/\(\)])(?!.*\)\d)(?!.*[+\-*/]([+\-*/]|\)))(?!.*\([+*/])(?!.*(\d|\))\()(?=\d|\-|\()(?=.*(\d|\))$)[^\(\)]*(((?'open'\()[^\(\)]*)+((?'-open'\))[^\(\)]*)+)*(?(open)(?!))$
由于使用了平衡组,此正则表达式需要在.NET环境下运行
测试代码:
script
var regex = /^(?!.*\)\d)(?!.*[+\-*/]([+\-*/]|\)))(?!.*\([+*/])(?!.*(\d|\))\()(?=\d|\-|\()(?=.*(\d|\))$)(?![^\(]*\))(?!.*\([^\)]*$)[\d+\-*/\(\)]*$/
alert(regex.test("1+2-3"))
alert(regex.test("100+100-2ssss"))
alert(regex.test("100+(20/2"))
alert(regex.test("100+哈哈哈"))
alert(regex.test("100++122"))
alert(regex.test("100+(100+200)/2"))
/script
[img]如何使用正则表达式验证非空?
reg.RegEx := '/S';
// /S 匹配任何非空白, 相当于 [^/f/n/r/t/v]
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil);
reg.Subject := '期待Delphi 2008 for Win32!';
reg.RegEx := '/S'哗凳厅;
reg.Replacement := '◆';
reg.ReplaceAll;
ShowMessage(reg.Subject); //返回:
FreeAndNil(reg);
end;
正则表达式的特点:
1、灵活性、逻辑性和功能性非常强;
2、可以迅速地用极简单的方式达到字符串的复杂控制。
3、对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,粗滚都可以使用正则表达式来处理文本内容。
以上内容参考:百度百科-正则乱隐表达式
怎样使用正则表达式进行验证
// regex_validate.cpp
// compile with: /clr
#using System.dll
using namespace System;
using namespace Text::RegularExpressions;
int main()
{
arrayString^^ number =
{
"123-456-7890",
"444-234-22450",
"690-203-6578",
"146-893-232",
"146-839-2322",
"4007-295-1111",
"407-295-1111"掘誉,
"407-2-5555",
};
String^ regStr = "^\\d{3}-\\d{3}-\\d{4}$";
for ( int i = 0; i number-Length; i++ )
{
Console::Write( "{0,14}", number[i] );
if ( Regex::IsMatch( number[i], regStr ) )
Console::WriteLine(" - valid");
举指 else
Console::WriteLine(" - 判答段invalid");
}
return 0;
}
例子
关于正则表达式验证和正则表达式验证日期格式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。