天道酬勤,学无止境

regex

NUMBERS 的正则表达式测试(Regex test for NUMBERS)

问题 我找到了一个正则Regex来测试传递给 TextBox 的文本是否是电子邮件。 If Regex.IsMatch(email.Text, "^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))" + "(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$") _ Then // True End If 我想改变它,所以它会测试输入的文本是否只是Numbers ? 我怎样才能做到这一点 ? 回答1 如果要确保文本仅包含数字,请使用简单的^\d+$或^\s*\d+\s*$以在开头和结尾留出一些空格。 允许负数: ^-?\d+$或^[+-]?\d+$允许像+12这样的数字 对于十进制数: ^[+-]?\d+(\.\d+)?$ (这将允许0.54但不允许.54 ) 这将允许.54类的东西 ^[+-]?(\d+(\.\d+)?|\.\d+)$ 回答2 您可能会查看此答案,以明确处理使用正则表达式解析数字。

2022-01-25 05:31:46    分类:技术分享    .net   vb.net   regex

使用 AWK 或 SED 删除字段的尾随和前导空格(Removing trailing and leading spaces of a field using AWK or SED)

问题 我有一个包含过多尾随和前导空格的数据库文本文件(类似 csv)。 这些事件只发生在用于分隔列的字符“|”周围。 我的目标是使用 awk 或 sed 删除这些空格。 我无法完成这个看似简单的任务; 是不是因为| 是特殊字符? 输入.txt | |COL1 |COL2 |COL3 |COL4 |COL11|COL99|COL19 |COL88 |CAL9 |COL84 |COL98 | | |500 |0001 |0100000000|1995 |001 | |Test This|00.00.0000| 6,14 | 12,00 | 0,00 | | |500 |0001 |0100000000|1995 |002 | |Separ ated|00.00.0000| 18,14 | 12,00 | 0,00 | 输出.txt ||COL1|COL2|COL3|COL4|COL11|COL99|COL19|COL88|COL9|COL84|COL98| ||500|0001|0100000000|1995|001||Test This|00.00.0000|6,14|12,00|0,00| ||500|0001|0100000000|1995|001||Separ ated|00.00.0000|18,14|12,00|0,00| 回答1 这应该这样做: sed 's/ *| */

2022-01-25 05:29:29    分类:技术分享    regex   awk   sed

具有条件的重复行熊猫数据框python(Duplicate rows with conditions pandas dataframe python)

问题 我的数据框有问题。 我的 df 是: product power brand product_1 3 x 1500W brand_A product_2 2x1000W + 1x100W product 3 1x1500W + 1x500W brand_B product 4 500W 我需要将每行与产品数量相乘(扣除功率) 我的 df 预期: product power brand new_product product_1 1500W brand_A product_1_1 product_1 1500W brand_A product_1_2 product_1 1500W brand_A product_1_3 product_2 1000W product_2_1 product_2 1000W product_2_2 product_2 100W product_2_3 product 3 1500W brand_B product_3_1 product 3 500W brand_B product_3_2 product 4 500W product_4_1 谢谢你的帮助 回答1 我会做一个字符串提取和合并,然后是一些清理任务: df1 = (df.power.str.extractall('(\d+)\s?x\s?(\d+W)') .reset_index

2022-01-25 05:11:37    分类:技术分享    python   regex   pandas   dataframe

Python Regex - Capture match and previous two lines

In reference to a previous question Python data extract from text file - script stops before expected data match How can I capture a match and the previous two lines? I tried this but get: unterminated subpattern at position 0 (line 1, column 1) output = re.findall('(.*\r\n{2}random data.',f.read(), re.DOTALL)

2022-01-25 05:10:16    分类:问答    regex   python-3.x

php日期格式正则表达式检查(php date format regex check)

问题 我正在尝试使用 PHP 正则表达式验证日期字段“ YYYYMMDD ”。 我尝试过这样的事情 /([0-9]{4})([0-9]{2})([0-9]{2})/ 但是在这一个中,它将接受任何两位数,例如 01-99 用于 MM 或 DD,但我希望有 01-12 用于 MM 和 01-31 用于 DD。 有什么建议吗? 谢谢 回答1

2022-01-25 04:56:45    分类:技术分享    php   regex   date

使用正则表达式验证电子邮件字段(validate e-mail field using regex)

问题 我需要检查一个字符串(电子邮件地址的本地部分)是否除了: 字母(a-zA-Z) 数字 (0-9) 下划线最多一个点 (.) 我如何使用Java regex来做到这一点? 示例: a_1_b.c和a_b_1应该没问题,但是应该丢弃1.a_b.2和1_a*3 。 回答1 如果您想验证电子邮件的正确性,您可能只想依靠 JavaMail API 来为您做这件事。 这样您就不必担心将 RFC 822 规范的详细信息编码为正则表达式。 更不用说如果您正在处理电子邮件地址,您可能想要一种简单的方式来发送它们,图书馆也有。 您可以简单地验证电子邮件地址是否有效: try { new InternetAddress(email).getAddress(); } catch (AddressException e) { // it's not valid } 回答2 您应该在此处找到更多信息。 回答3 我猜,正则表达式[\w]*\.[\w]+|[\w]+应该可以工作。 回答4 假设还必须正好有一个“@”,并且它必须出现在(但不是紧接在)单个“。”之前,你可以这样做 final static private String charset = "[a-zA-Z0-9_]"; // separate this out for future fixes final static priavte

2022-01-25 04:52:35    分类:技术分享    java   regex

制作一个包含我的列表项的文本文件并对其应用正则表达式(Making a text file which will contain my list items and applying regular expression to it)

问题 我应该编写一个代码来读取包含一些具有一些常见语言特征的单词的文本文件。 将一些正则表达式应用于所有单词并编写一个包含更改后单词的文件。 现在假设我的名为abcd.txt的文本文件有这些词 king sing ping cling booked looked cooked packed 我的第一个问题从这里开始。 在我的简单文本文件中,如何编写这些单词以获得上述结果。 我应该用行分隔还是逗号分隔来写它们? 这是用户 palvarez 提供的代码。 import re with open("new_abcd", "w+") as new, open("abcd") as original: for word in original: new_word = re.sub("ing$", "xyz", word) new.write(new_word) 我可以添加类似 - with open("new_abcd", "w+") as file, open("abcd") as original: for word in original: new_aword = re.sub("ed$", "abcd", word) new.write(new_aword) 在同一个代码文件中? 我想要类似的东西 - kabc sabc pabc clabc bookxyz lookxyz

2022-01-25 04:52:21    分类:技术分享    regex   python-3.x

正则表达式注释(Regular expression comments)

问题

2022-01-25 04:34:45    分类:技术分享    regex

regex for multiple group not working - Java 1.7 to 1.8 - ScriptEngine Rhino to Nashorn

I had a regex problem as described in this question The string is following : <SPAN>06-24-2015 11:28AM 0250 01 90775 05342</SPAN> The JS code on 1.7 Java is working fine : Regex : /<span>(\\d{2}-\\d{2}-\\d{4})\\s*?(\\d{1,2}:\\d{2}\\s*?(?:am|pm))\\s*?(?:<\\/SPAN><BR\\/?><SPAN>)?\\s*?((\\d[ -]*?){13,17})\\s*?<\\/span>/i But the same was not working in 1.8 Java as described in the question shared on top . Getting the suggestion in that question , I created my regex group by group and come to know that only the last part of regex is not working in 1.8 . ScriptEngineManager mgr = new

2022-01-25 04:32:37    分类:问答    javascript   java   regex

regex to replace two separate things separately in one replace [duplicate]

This question already has answers here: Javascript swap characters in string (5 answers) Closed 3 years ago. I need to replace 1 with a 0, and replace 0 with 1 in a string. I know how to replace one thing with another, but how can I replace two separately. See the attempt below. const broken = str => { return str.replace(/1/g, '0').replace(/0/g, '1'); } This is an example: input 011101 output 100010

2022-01-25 04:32:16    分类:问答    javascript   regex   ecmascript-6