我想从字符串中删除所有特殊字符(数字除外).我已经能够做到这一点
var name = name.replace(/[^a-zA-Z ]/, "");
Run Code Online (Sandbox Code Playgroud)
但它似乎正在移除第一个数字并留下所有其他数字.
例如:
name = "collection1234"; //=> collection234
Run Code Online (Sandbox Code Playgroud)
要么
name = "1234567"; //=> 234567
Run Code Online (Sandbox Code Playgroud) 我正在编写我的第一个Perl应用程序 - 一个与Arduino微控制器对话的AOL Instant Messenger机器人,后者控制一个伺服器,它将按下我们系统管理员服务器上的电源按钮,该服务器每隔28小时随机冻结一次.
我已经完成了所有艰难的工作,我只是尝试添加最后一段代码来打破主循环并在用户输入'quit'时退出AIM.
问题是,如果我尝试在主程序循环中读取STDIN,它会阻止进程直到输入输入,实质上是使机器人无效.我在阅读之前尝试过测试EOF,但没有骰子...... EOF总是返回false.
以下是我正在使用的一些示例代码:
while(1) {
$oscar->do_one_loop();
# Poll to see if any arduino data is coming in over serial port
my $char = $port->lookfor();
# If we get data from arduino, then print it
if ($char) {
print "" . $char ;
}
# reading STDIN blocks until input is received... AAARG!
my $a = <STDIN>;
print $a;
if($a eq "exit" || $a eq "quit" || $a eq 'c' || $a eq 'q') {last;} …Run Code Online (Sandbox Code Playgroud) 我试图转换,从textarea输入($_POST['content']),所有网址链接.
$content = preg_replace('!(\s|^)((https?://)+[a-z0-9_./?=&-]+)!i', ' <a href="$2" target="_blank">$2</a> ', nl2br($_POST['content'])." ");
$content = preg_replace('!(\s|^)((www\.)+[a-z0-9_./?=&-]+)!i', '<a target="_blank" href="http://$2" target="_blank">$2</a> ', $content." ");
Run Code Online (Sandbox Code Playgroud)
目标链接格式:www.hello.com或http(s)://(www).hello.com
但这似乎打破任何iframe,图像或类似,
正确的正则表达式如何忽略html标签中的url?
注意:我知道我需要两个表达式; 一个检测没有协议链接(比如www.hello.com,所以我需要预先添加)和另一个检测带协议的URL(所以不需要预先添加).
您可以在Atom编辑器中打开多个选项卡,也可以使用多列布局.但是,我无法找到如何在Atom中打开Python shell,以便我可以在Python交互式shell中加载Python脚本.
有谁知道实现这一目标的步骤?
我正在尝试为OS X的Keyboard Maestro创建一个宏,执行以下操作:
其中一个选项是"执行一个shell脚本",所以我认为这样做是为了1.在谷歌搜索了一下后我想出了这个:
cd /path/to/directory/
ls -t | head -n1Run Code Online (Sandbox Code Playgroud)
这会对它进行排序,并返回第一个文件名.但是,它似乎也包括换行符,我不想要.至于2:我可以在应用程序中输出带有不同操作的文本"最新文件:",并将文件名粘贴到其后面.但我想知道你是否不能返回"随机文本"+ ls命令的结果.
所以我的问题是:我只能使用ls命令吗?而且我怎么只是最新的文件的名称,没有任何换行或退货?
我们正在使用一个使用jayway库来评估JSONpath表达式的工具.Javascript似乎不适用它.在这种情况下,如何在JSONPath中使用正则表达式.例如,在下面的示例中,我想过滤其标题中包含"Sword"一词的所有书名:
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
},
"expensive": 10
}
Run Code Online (Sandbox Code Playgroud) 我定义中的JavaScript替换所有的功能-,_,@,#,$和\(他们是可能的分隔符)与/(有效分隔符).
我的目标是像"1394_ib_01#13568"转换为任何字符串"1394/ib/01/13568"
function replaceCharacters(input) {
pattern_string = "-|_|@|#|$|\u005C"; // using character Unicode
//pattern_string = "-|_|@|#|$|\"; // using original character
//pattern_string = "-|_|@|#|$|\\"; // using "\\"
//pattern_string = "\|-|_|@|#|$"; // reposition in middle or start of string
pattern = new RegExp(pattern_string, "gi");
input = input.replace(pattern, "/");
return input;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是当\字符发送到函数结果的字符串无效时.
我尝试\在定义模式中使用Unicode ,或者使用\\\而不是使用它.我也用模式字符串替换了它的位置.但在任何这种情况下,问题都没有解决,浏览器返回无效结果或不同的错误,如:
SyntaxError: unterminated parenthetical ---> in using …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个代码来将字符串连接成拉丁文.我已经处理了一些限制,但是我没有获得所需的输出.我的代码如下:
<?php
$string = "impulerittantaenanimis caelestibusirae";
$precedingC = precedingConsonant($string);
$xrule = xRule($precedingC);
$consonantc = consonantCT($xrule);
$consonantp = consonantPT($consonantc);
$cbv = CbetweenVowels($consonantp);
$tv = twoVowels($cbv);
echo $tv;
function twoVowels($string)
{
return preg_replace('/([aeiou])([aeiou])/', '$1-$2', $string);
}
function CbetweenVowels($string)
{
return preg_replace('/([aeiou])([^aeiou])([aeiou])/', '$1-$2$3', $string);
}
function consonantPT($string)
{
return preg_replace('/([^aeiou]p)(t[aeiou])/', '$1-$2', $string);
}
function consonantCT($string)
{
return preg_replace('/([^aeiou]c)(t[aeiou])/', '$1-$2', $string);
}
function precedingConsonant($string)
{
$arr1 = str_split($string);
$length = count($arr1);
for($j=0;$j<$length;$j++)
{
if(isVowel($arr1[$j]) && !isVowel($arr1[$j+1]) && !isVowel($arr1[$j+2]) && isVowel($arr1[$j+3]))
{
$pc++;
}
} …Run Code Online (Sandbox Code Playgroud) 我正在将程序从Perl翻译成Python(3.3).我对Python很新.在Perl中,我可以做狡猾的正则表达式替换,例如:
$string =~ s/<(\w+)>/$params->{$1}/g;
Run Code Online (Sandbox Code Playgroud)
这将搜索$string,并且对于<>中包含的每组单词字符,$params将使用正则表达式匹配作为哈希键从hashref 进行替换.
简洁地复制这种行为的最佳(Pythonic)方法是什么?我想出了这些方面的东西:
string = re.sub(r'<(\w+)>', (what here?), string)
Run Code Online (Sandbox Code Playgroud)
如果我可以传递将正则表达式匹配映射到dict的函数,那可能会很好.那可能吗?
谢谢您的帮助.
我不确定这是否可以使用正则表达式.我将尝试使用正则表达式,但如果不可能,我将切换到双重验证.
我的数据库(postgresql)接受decimal15,6(最多15位,最多6位小数),所以如果我有10个整数位,我可以有5位小数.小数分隔符被忽略.
我目前有这个正则表达式(逗号是小数点分隔符):
^\d{1,15}(\,\d{1,6})?$
它不验证总长度,只验证左边的数字.但既然用户也可以输入点数(千位分隔符),我有这个怪物:
^((\d+)|(\d{1,3}(\.\d{3})+)|(\d{1,3}(\.\d{3})(\,\d{3})+))((\,\d{4})|(\,\d{3})|(\,\d{2})|(\,\d{1})|(\,))?$
这个不接受超过3位小数.我可以编辑这个以接受6次decimais,但我仍然无法验证总长度.
是否可以验证号码的总长度?忽略点和逗号.
正则表达式应该接受:
1234567890,123456
1.234.567.890,123456
当然还有其他任何中间价值观:
1.234,12,1,0,1...
regex ×7
javascript ×2
perl ×2
php ×2
python ×2
atom-editor ×1
c# ×1
command-line ×1
jquery ×1
json ×1
jsonpath ×1
linkify ×1
preg-replace ×1
python-3.x ×1
shell ×1
stdin ×1
string ×1
url ×1