正则表达式,限制连续两个横杆(--)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式,限制连续两个横杆(--)相关的知识,希望对你有一定的参考价值。

如题。就是我输入的文件内不可以有两个连续的“--”出现。高手请帮帮忙
是输入的文字。。输入指可以是[a-zA-z0-9!-_]。但不可以出续连续的--。帮忙写出一段正则我校验器用。

你与其限制出现,还不如去判断是否出现两个“--”,这样多方便?
使用这个就能匹配出两个"--"以上的连续情况:
[-]2,

如果你非要限制那就试试这个吧:
((?![-]2)[\w!-])*
参考技术A 不同语言中的正则表达式还是有区别的啊,楼主要用在什么语言中?
vbs的话可以尝试用
(-?(\w|!)+)+|((\w|!)+-?)+|-
参考技术B 用这个效率比较好一点点:
<?php

//header('Content-Type:text/html;charset=utf-8');

$ary = array(
'adlfjad'
,'--aldf'
,'ald--fasd'
,'- -aldfadfadsfa中间有空格'
,'--aldfasdfas'
,'中问大力士咖啡碱'
,'430154力士咖啡g adf碱'
);

foreach($ary as $record)
$color = str_test($record) ? 'green' : 'red';
echo "<li><font color=$color>" , $record , ' </font>';


function str_test($str , $needle = '--')
return strpos($str , $needle) === false ? true : false;


?>

js正则表达式常见面试题

1 . 给一个连字符串例如:get-element-by-id转化成驼峰形式。

var str = "get-element-by-id";
var reg = /-\w/g; // 匹配横杆以及之后的一个字符,全局匹配
console.log(str.replace(reg,function($0){
    return $0.slice(1).toUpperCase();
    // 匹配到到是-e -b -i 形式截取后一个字符转成大写 
}));

2 . 匹配二进制数字

var str = "10101111";
var reg = /^[01]+$/g;
console.log(reg.test(str));

3 . 非零的十进制数字 (有至少一位数字, 但是不能以0开头)

var str = "81";
var reg = /^[1-9][0-9]?$/g;
console.log(reg.test(str));

以上是关于正则表达式,限制连续两个横杆(--)的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式匹配一个或两个引号,但不是连续三个

Python正则表达式判断是否存在连续相同的两个字符,连续两个字符一模一样

python输出连续的字母正则表达式

js正则表达式常见面试题

红宝石正则表达式。限制最小和最大字符串长度

多个辅音的正则表达式