- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在 Linux 终端中使用 egrep
找到所有分隔的单词(这意味着两个空格之间的字符),它们是十进制数字,包括加号和减号。
我的解决方案:
(?<= |\n|\t)[\+\-]?[0-9]+(?= |\n|\t)
解释:
(?<= |\n|\t)
检查十进制数前是否有空格或换行符或制表符(?= |\n|\t)
检查十进制数后是否有空格或换行符或制表符。这段代码在我测试实现的 Kiki 0.5.6 程序中运行良好,但如果我将它复制到终端,它就不起作用。我认为终端不识别特殊的括号结构 (?=
或 ?<=)
。我对吗?如何申请到终端?
例如:我的文字:
1.fasfa
123asfavdsvdas156
1safsavdsvsd1sdva5s31as35d1va
595s6dva2sdvas9
asd9as5dv92s
sd559vs fs5s94 4dfs dfa4s44 459 9dasf 8sdfa 5sfa
napr. uNIveRziTA
sfaf 2262 2226 56565 adss
uNiVerZita
uNIVERZITa
123
123 sadasf 123456 sfafs 134
-1234- -25- -5- 5- --55
-
-55
123 100 999 124 6262 62 6 2 62 62 65 26565 22 62 62652 +665 +0649 ---662 265 959 595 099 199 -059 -0245 -444
--1245 -555-5-55 --555- 555-
+25
-55
+++55 +5 ++5 ++55+665+
samo samo samo samo otec otec skola skola samo lamo samo lamo
re20. (?<=(\t|\n| ))([+-])?[1-9][0-9]*(?= |$|\n)
--- ---
doma doma doma doma doma doma doma doma doma
meno.priezvisko@tuke.sk meno.priezvisko.1@tuke.sk meno.priezvisko@student.tuke.sk meno.priezvisko.2@student.tuke.sk
23:56:59.555
00:00:00.000
23:59:59.999
31/12/2099
00/12/2054
01/01/2000
匹配:
459
2262
2226
56565
123
123
123456
134
-55
123
100
999
124
6262
62
6
2
62
65
26565
22
62
62652
+655
+0649
最佳答案
egrep
不支持环视断言。但是,GNU grep 使用 -P
开关提供与 perl 兼容的正则表达式:
grep -oP '(?<=\s|^)[+-]?[0-9]+(?=\s|$)' input
请注意,您可以将 |\n|\t
简化为 \s
,它代表 whitespace character。为了匹配行首开始的数字和行尾结束的数字,我添加了 ^
和 $
作为 的替代项\s
.
关于regex - 在 Linux 终端中使用带有 egrep 的正则表达式查找数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33802409/
我想使用 find 来查找以小写字母开头的目录中的每个文件。 一个简单的正则表达式结合 find 应该可以解决这个问题(我不需要处理文件名中的空格)。 所以我尝试了find . -regextype
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题?通过 editing this post 添加详细信息并澄清问题. 1年前关闭。 Improve this
如果您的文件包含 apples are good apple cider is also good 为什么会egrep '(?=apples)app' file无法接听任何线路? 在 MAC 上使用
我正在尝试运行此命令来进行一些清理。 egrep -v -f ref_file.css my_file.css 但是,它给了我一个错误。 egrep: 不匹配 ( 或\( 我该如何解决这个问题?我使用
如何使用正则表达式找到至少包含两次相同单词的行? 我试过: egrep '\w{2,}\1' file 但是终端给我错误: egrep: invalid backreference number 最
我在多个主机上有多个 Apache vHost 配置。我正在尝试编写一个 Bash 脚本,它将遍历每个主机并搜索 .conf每个文件,拉出第一个(只有第一个)堵塞。我试过写一个正则表达式来匹配它,但它
我想用正则表达式获取函数调用的参数(不带括号)。 我在 cygwin 的 bash 脚本中使用 egrep。 这是我到目前为止得到的(带括号): $ echo "require(catch.me)"
这个问题在这里已经有了答案: Check if all of multiple strings or regexes exist in a file (21 个回答) 关闭 4 年前。 我知道 eg
我正在使用以下命令从文件中提取域名和完整域扩展名。例如:www.abc.yahoo.com、www.efg.yahoo.com.us。 [a-z0-9\-]+\.com(\.[a-z]{2})?' s
我有一个文件,内容如下: [TEXT_ID=2] [TEXT_REV=3] [NO_OF_BYTES=16] 0010002$%!003000040000000010100 [TXT] FF FF [
我写了一个小脚本,它将egrep服务器日志中的两个模式 pattern - 'Unable to resolve location classpath:db/migration|Processing
$ cat file c f t e, u y r s p I y p A w p d. R i G e w o a l n o v s. P G e a o c f s p k e i c w a
这个问题在这里已经有了答案: Fastest possible grep (12 个答案) 关闭 8 年前。 我需要从一个包含 200 万行的大型 csv 文件中进行 egrep,我想将 egrep
我必须从一个类似这样的文件名 temp 中进行 grep Process State BE_RP:1 [PL_2_3] Running BE_RP:2 [PL_2_4
我试图清除只包含一次“Hihihihihihihi!”以及任意多个“hi”的行 这是我写的 egrep "^Hi(hi)*!$" myfile.txt 但是没有用。按enter后,命令再次显示: e
我在使用 egrep 时遇到问题,它似乎忽略了特殊字符,例如 !@#%。 目标是删除超过 3 个完全相同字符的行。字符不需要一个接一个。 111!!!qqq! #should be removed b
我正在使用 egrep 查看我们 perforce NAS 中的脚本。 我正在尝试找到我们使用 RCP 和 RSH 的地方....我遇到的问题是 1) 我不擅长 REGEX; 2) 我正在捡起我不感兴
我想了解为什么使用 include 参数它不会搜索目标文件 Identification.php。 与 包括范围 : admin@server:/filer/www/website/httpdocs$
我有一百万多包含类似于下面的行的文本文件 abc,xyz, =12093| abc,xyz, =12093, =10998| 第一行没问题,但我想找到第二行的所有内容。即我想打印所有作为模式 , =
任何人都可以在这里帮忙。如果 egrep 不可行,其他建议也将受到高度赞赏。 我正在尝试使用“UTL_RECOMP_SLAVE_75”将 egrep 表达式写入 grep ORA-00942,当它位于
我是一名优秀的程序员,十分优秀!