是否可以在R的正则表达式中使用存储的变量?
例如,我想在以下字符串中删除十进制数字周围的引号s = "\"Bob\",\"1\",\"Mary\",\"2\""- 在大多数语言中,您可以执行类似的操作,sub("\"(\d)\"","$1",s)但我似乎无法在R中找到该功能.任何帮助都将非常感激.
另外作为一个侧面问题,R有\d支持吗?(当我尝试它时会抛出错误)谢谢
我需要一些帮助来调整这个正则表达式:
$content = 'more <a href="http://www.test.com">test</a> test <a href="mailto:jeff@test.com">Jeff</a> this is a <a href="http://www.test.com">test</a>';
$content = preg_replace("~<a .*?href=[\'|\"]mailto:(.*?)[\'|\"].*?>.*?</a>~", "$1", $content);
Run Code Online (Sandbox Code Playgroud)
这个表达式是从一个mailto链接剥离html标记,然后只返回电子邮件(jeff@test.com)
它工作得很好,除了我上面给出的例子 - 因为在模式中的href之前允许无限数量的空格,当网站链接在mailto链接之前时,正则表达式一直向前看,直到找到mailto:在以下链接中删除其间的所有内容.
也许修复只是将它限制在开始标记之后的两个或三个空格,以便看起来不那么遥远,但我想知道是否有更好的解决方案来自那些比我更了解正则表达式的人?
如何编写RegEx表达式以匹配以090或091或0123或0168或0199或0124开头的数字以及10到11位数之间的长度?
我试过这个但不是真的
@"^(090|091|0123|0168|0199|0124)\d{7,8}$"
Run Code Online (Sandbox Code Playgroud) 我有一个Python脚本,它从文件中读取路径名列表,并使用gzip模块打开它们.它在Linux下运行良好.但是当我在Windows下使用它时,我在调用gzip.open函数时遇到了错误.错误消息如下:
File "C:\dev_tools\Python27\lib\gzip.py", line 34, in open
return GzipFile(filename, mode, compresslevel)
File "C:\dev_tools\Python27\lib\gzip.py", line 89, in __init__
fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')
TypeError: file() argument 1 must be encoded string without NULL bytes, not str
Run Code Online (Sandbox Code Playgroud)
文件名应该是这样的
'G:\ ext_pt1\cfx33_50instr4_testset\cfx33_50instr4_0-99\cfx33_50instr4_cov\cfx33_50instr4_id0_cov\cfx33_50instr4_id0.detail.rpt.gz'
但是,当我打印文件名时,它打印出类似的东西
'■G:\ ext _ pt 1\cfx 3 3 _ 5 0 instr 4 _ testset\cfx 3 3 _ 5 0 instr 4 _ 0 - 9 9\cfx 3 3 _ 5 0 instr 4 _ cov\cfx 3 3 _ …
我有一个像这样的字符串: ----------- 243f,33f----
现在我想删除-除第一个-,,数字和数字之外的所有字符.结果应为-243,33.我该怎么做?
我在我的应用程序之一中使用文件夹对话框。当选择一个目录并将其分配给另一个字符串时,我得到一个类似的值C:\\test
对于某些作业,我想要 的值c:\test。
我在 stackoverflow 上进行了研究,但没有找到任何有效的答案。我尝试了各种替换,但不起作用。
任何帮助将不胜感激。
代码:
private void label1_Click(object sender, EventArgs e)
{
folderBrowserDialog1.ShowNewFolderButton = false;
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
string p = @folderBrowserDialog1.SelectedPath; //=> Selected C:\ACTNT
//removing @ in front of folderBrowserDialog1 does not change the situation
strPathName.Text = p; // => display c:\ACNT
con = "database = " + p; // => actual value "database = c:\\ACNT"
UpdateTableName();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我手动输入strPathNameas C:\ACNT,程序运行正常。
我有一个asp.net控件,它使用正则表达式来验证用户输入的名字和姓氏.它适用于多达40个字符......我认为通过表达式的外观,它也允许'像O'Donald这样的名字,也可能是夸张的名字.
ValidationExpression="^[a-zA-Z''-'\s]{1,40}$"
Run Code Online (Sandbox Code Playgroud)
我的问题是带有重音的名称/字符,例如西班牙语和法语名称可能包含例如ñ是不允许的.有谁知道如何修改我的表达式以考虑到这一点?
我只想在字符串中的任何地方包含数字和/或"h"或"H"字符时验证字符串.
例如
123 - 有效
123h - 有效
1h23 - 有效
h234 - 有效
123H - 有效
asdf - 无效
123d - 无效
我能够仅限数字字符串,但不能满足h的额外要求.我怎样才能做到这一点?
我尝试创建一个匹配大小写的正则表达式A-Z,digits以及所有字符串的@#$_长度限制符号4 to 16.
我无用的正则表达式:
/^([a-zA-Z])|(\d)|(@#\$_){4,16}$/
我测试了在线正则表达式生成器,如http://www.jslab.dk/tools.regex.php但没有很好的结果.
1. The CAT goes up and down the ROAD.
2. The CAT goes up and down the CITY.
3. The ROAD goes up and down the CAT.
Run Code Online (Sandbox Code Playgroud)
正则表达式:(CAT)(.*?)(ROAD)将找到包含CAT和ROAD的行
现在我需要找到包含CAT而不包含ROAD的行.
试过(CAT)(.*?)(?!ROAD)但似乎不正确.