Tag: 正则表达式

用于逗号分隔的电子邮件地址列表的ASP.NET自定义validation程序的问题

我在这里发布了一篇博文 ,使用自定义validation器来validation电子邮件列表。 但是,文章中的Regex表达式: Regex emailRegEx = new Regex(@”\w+([-+.’]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*”, RegexOptions.IgnoreCase); 允许此电子邮件地址: “APL@domain.com 123@domain.com” 这显然是无效的。 如何更改它以将其标记为无效? 注意:当您使用带有SAME正则表达式表达式的核心RegExvalidation程序时,它会捕获该电子邮件,因此可能是匹配选项存在问题吗? 谢谢

使用正则表达式的缺点

最近我的经理告诉我不要太依赖Regex,因为它有很多缺点。 当我试图了解更多时,我听说它有像正则表达式这样的问题可能导致内存泄漏,因为一些对象在使用后仍继续挂在字符串引用上? .NET RegEx“内存泄漏”调查 所以说reg-ex会导致内存开销并且如果你有其他选择则不应该使用它是正确的吗? 是否有任何其他不利于注册(除了它很难学习:)) PS我正在开发一个类似于网络爬虫的应用程序(c#.net),它提取所有href和一些其他信息,如标题,元标记等。我可以选择使用HTML Agility包而不是reg-ex。

如果术语被搜索文本中的换行符破坏,如何使用RegEx查找术语

说我正在寻找“申请人”,并且事情发生在我之前,我收到一个这样的文本文件: We have considered the applica nt’s experience and qualification, and wish to grant him an interview. 现在我仍然希望我的RegEx在整个单词“applicant”的索引23处返回一个匹配项,并且我想告诉用户在第m行和第n列开始部分匹配。 我怎样才能做到这一点? 我想到的一个相当繁琐的解决方案是在每次匹配之前插入一个特殊的标记字符,每次增加剩余匹配的索引。 然后逐行重复搜索,并查找标记,然后查找搜索词的第一个字符。

员工ID的标准正则表达式

我需要像Employeed ID的标准正则表达式 EMP015 015EMP EMP_015 E_015 EMP-015 EMP.VIS EMP/056 基本上它应该允许. 或_或-或/在/中间的字母数字字符 条件: 第一个角色不应该. 或_或-或/ 员工ID长度应为50个字符。

.NET正则表达式 – 创建字符串?

我有一个正则表达式,我用它来提取文件夹名称的两个部分: ([0-9]{8})_([0-9A-Ba-c]+)_BLAH 没问题。 这将匹配12345678_abc_BLAH – 我有两组“12345678”和“abc”。 是否可以通过提供具有两个字符串的方法并将它们插入模式组来构造文件夹名称? public string ConstructFolderName(string firstGroup, string secondGroup, string pattern) { //Return firstGroup_secondGroup_BLAH } 使用相同的模式提取组和构造字符串将更易于管理。

将c#regex转换为javascript正则表达式

使用C#reg ex可以使用以下正则表达式: ^(?#_surveyForm.+)|#(?:(?http.+\.\w{3,4}).+_surveyForm=\w+)$ 它匹配字符串,如: #http://localhost/tableaux-p145717.htm=&_surveyForm=second 要么 #_surveyForm=second 我使用了命名捕获组。 我知道Javascript没有利用命名捕获组(而是使用\ 1,\ 2等)。 除此之外,语法与上面的略有不同。 如何使该注册表符合javascript标准? 提前致谢, R.

正则表达式在ASP.net中的强密码

我需要检查包含以下4个中的3个的密码: 小写字母 大写字母 数字字符 特殊字符(如%,$,#,…) 密码长度必须在6到20个字符之间。 我目前有这个: public void ChangePassword(string password) { Regex regex1 = new Regex(“^(?=.*[0-9])(?=.*[az])(?=.*[AZ]){6,20}$”); Regex regex2 = new Regex(“^(?=.*[0-9])(?=.*[az])(?=.*?[#?!@$%^&*-]){6,20}$”); Regex regex3 = new Regex(“^(?=.*[0-9])(?=.*[AZ])(?=.*?[#?!@$%^&*-]){6,20}$”); Regex regex4 = new Regex(“^(?=.*[az])(?=.*[AZ])(?=.*?[#?!@$%^&*-]){6,20}$”); Regex regex5 = new Regex(“^(?=.*[0-9])(?=.*[az])(?=.*[AZ])(?=.*?[#?!@$%^&*-]){6,20}$”); Match match1 = regex1.Match(password); Match match2 = regex2.Match(password); Match match3 = regex3.Match(password); Match match4 = regex4.Match(password); Match match5 […]

仅在满足特定条件时替换字符串中的模式 – 正则表达式

我们如何在字符串中替换’ with \\’ 。 (这可以使用Regex.IsMatch(), Regex.Matches(), Regex.Replace()来完成。但是,只有在’之前没有\或\\时才应该这样做。(这是我被困住的地方) ) 这意味着在它之前找到所有没有\或\\然后添加相同的内容,即’替换为\\’ 示例字符串: ‘abcd\’efg’hijkl’mno\\’pqrs’ 结果字符串: \\’abcd\\’efg\\’hijkl\\’mno\\’pqrs\\’

使用Regex从字符串中提取数字

我有这个C#代码,我找到了,然后根据我的需求进行了改进,但现在我想让它适用于所有数字数据类型。 public static int[] intRemover (string input) { string[] inputArray = Regex.Split (input, @”\D+”); int n = 0; foreach (string inputN in inputArray) { if (!string.IsNullOrEmpty (inputN)) { n++; } } int[] intarray = new int[n]; n = 0; foreach (string inputN in inputArray) { if (!string.IsNullOrEmpty (inputN)) { intarray [n] = int.Parse (inputN); n++; […]

密码复杂性正则表达式与数字或特殊字符

我有一些正则表达式会检查传入密码的复杂性要求。 然而,它并不足以满足我的需求。 ((?=.*\d)(?=.*[az])(?=.*[AZ]).{8,20}) 它确保密码满足最小长度,包含两种情况的字符并包含一个数字。 但是我需要修改它,以便它可以包含数字和/或允许的特殊字符。 我甚至获得了允许的特殊字符列表。 我有两个问题,分隔特殊字符并使第一个条件执行和/或匹配数字或特殊。 我非常感谢这些部分中的一个正则表达神的建议。 允许的特殊字符是: @%+\/’!#$^?:.(){}[]~-_