perl

A strict regular expression for matching chemical formulae

早过忘川 提交于 2021-02-16 13:09:46
问题 In the course of processing a large textual chemical database with Perl, I had been faced with the problem of using a regex to match chemical formulae. I have seen these two previous topics, but the suggested answers there are too loose for my requirements. Specifically, my (admittedly limited) research has led me to this posting that gives a regex for the currently accepted chemical symbols, which I'll copy here for reference [BCFHIKNOPSUVWY]|[ISZ][nr]|[ACELP][ru]|A[cglmst]|B[aehikr]|C

A strict regular expression for matching chemical formulae

自闭症网瘾萝莉.ら 提交于 2021-02-16 13:06:28
问题 In the course of processing a large textual chemical database with Perl, I had been faced with the problem of using a regex to match chemical formulae. I have seen these two previous topics, but the suggested answers there are too loose for my requirements. Specifically, my (admittedly limited) research has led me to this posting that gives a regex for the currently accepted chemical symbols, which I'll copy here for reference [BCFHIKNOPSUVWY]|[ISZ][nr]|[ACELP][ru]|A[cglmst]|B[aehikr]|C

A strict regular expression for matching chemical formulae

淺唱寂寞╮ 提交于 2021-02-16 13:06:03
问题 In the course of processing a large textual chemical database with Perl, I had been faced with the problem of using a regex to match chemical formulae. I have seen these two previous topics, but the suggested answers there are too loose for my requirements. Specifically, my (admittedly limited) research has led me to this posting that gives a regex for the currently accepted chemical symbols, which I'll copy here for reference [BCFHIKNOPSUVWY]|[ISZ][nr]|[ACELP][ru]|A[cglmst]|B[aehikr]|C

How to override exit() call in Perl eval block

假装没事ソ 提交于 2021-02-16 13:02:09
问题 I need to eval some code in Perl that might some times contain an exit() call in it. A very simplified example of this would be: use strict; use warnings; eval "some_function()"; die $@ if $@; print "Still alive!\n"; sub some_function { print "Hello from some_function\n"; exit; } I never get to "Still alive!" because of the exit() call. I tried setting some keys in %SIG (QUIT, STOP, TERM, BREAK, etc) but that didn't work. I also attempted to redefine CORE::exit with no success. How can I

How to override exit() call in Perl eval block

若如初见. 提交于 2021-02-16 13:01:34
问题 I need to eval some code in Perl that might some times contain an exit() call in it. A very simplified example of this would be: use strict; use warnings; eval "some_function()"; die $@ if $@; print "Still alive!\n"; sub some_function { print "Hello from some_function\n"; exit; } I never get to "Still alive!" because of the exit() call. I tried setting some keys in %SIG (QUIT, STOP, TERM, BREAK, etc) but that didn't work. I also attempted to redefine CORE::exit with no success. How can I

Perl正则表达式超详细教程

一曲冷凌霜 提交于 2021-02-14 08:53:16
前言 想必学习perl的人,对基础正则表达式都已经熟悉,所以学习perl正则会很轻松。这里我不打算解释基础正则的内容,而是直接介绍基础正则中不具备的但perl支持的功能。关于基础正则表达式的内容,可参阅 基础正则表达式 。 另外,本系列只介绍匹配操作,关于内容替换,因为和学习使用perl正则并无多大关系,所以替换相关的将在下一篇文章单独解释。 这里推荐一个学正则非常好的资料:stackflow上关于各种语言(perl/python/.net/java/ruby等等)的正则的解释、示例,这里收集的都是对问题解释的非常清晰且非常经典的回答。在我学习perl正则的时候,对有些功能实在理解不了(想必你也一定会),就会从这里找答案,而它,也从来没让我失望: https://stackoverflow.com/questions/22937618/reference-what-does-this-regex-mean/22944075#22944075 以下是perl正则的man文档: perl正则快速入门:man perlrequick perl正则教程:man perlretut perl正则完整文档:man perlre 学perl正则必备的一点基本语法 新建一个文件作为perl脚本文件,在其首行写上 #!/usr/bin/perl ,它表示用perl作为本文件的解释器

Linux安装部署jdk+tomcat+mysql

萝らか妹 提交于 2021-02-13 22:41:10
Linux安装部署测试环境 1. JDK安装下载 安装 yum search jdk 找到合适的jdk版本,以下图中的版本为例 yum install java-1.8.0-openjdk.x86_64 按照提示确认完成下载和安装,如遇需要确认的键入y(也可以在上一步用yum install -y免去确认步骤) 输入java -version确认安装信息,正确显示java版本则证明安装成功: yum安装jdk后,会建立usr/bin到jdk的软链接,所以不需要后续配置jdk环境变量即可使用。如遇找不到java的情况再考虑配置环境变量。 2. TomCat下载安装 下载 以tomcat-8为例 在windows下,去到官网 https://tomcat.apache.org/download-80.cgi 选择下载tar.gz包: 或者直接用以下链接下载 https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz 安装 在windows下,使用xftp将下载的tar.gz包上传至服务器指定目录 在linux下,去到该目录 使用tar -zxvf + 包名,解压刚上传的tomcat包 如遇权限不足,则chmod 755 + 包名赋予执行权限

shell脚本正则表达式

青春壹個敷衍的年華 提交于 2021-02-13 09:51:22
grep与正则表达式: 1、grep 程序 Linux下有文本处理三剑-----grep sed awk grep :文本,行过滤工具 sed:文本 行编辑器(流编辑器) awk:报告生成器(做文本格式化输出) grep 包括三个命令:grep egrep fgrep,他们是用来进行行模式(pattern)匹配 egrep = grep -E //使用扩展的正则表达式进行匹配 fgrep=fast grep //只使用文件通配符进行匹配 *grep默认使用正则表达式进行文本匹配* grep 的用法: grep 【option】.....PATTERN[filename] grep的常见选项---option -E 支持使用扩展的正则表达式(ERE)(regexp) -P 使用Perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed grep AWK 使用的regrexp的引擎也是不同的) -i忽略大小写 -v 进行反选 -o 仅仅输出匹配的内容(默认输出的是匹配到的行) --color=auto 语法着色 -n 显示行号 a* grep 的PATTERN 作用:通过一些特殊字符,来表示一类字符内容,交给前面的命令来执行;如果使用特殊字符本身含义,就需要\进行转义; 回顾: * ? [] [^] 1、字符匹配 .代表任意一个字符 相当于? []

shell脚本-grep和正则表达式

怎甘沉沦 提交于 2021-02-13 09:25:26
1、grep程序 1)命令:grep egrep fgrep,用来进行 行模式(pattern手动写)匹配的 egrep = grep -E //使用正则表达式进行匹配 fgrep = fast grep //只使用文件通配符进行匹配 *grep默认使用正则表达式进行文本匹配 2)用法: grep[option]...PATTERN[filename] 3)常见选项(option): -E 支持使用扩展的正则表达式(regexp) -P 使用Perl语言的正则表达式引擎进行搜索(每种语言的正则表达式引擎都不相同,甚至grep、sed、awk使用的regexp的引擎也不相同) -c 统计计数 *-i 忽略大小写 *-v 进行反选 *-o 仅仅输出匹配的内容(默认输出是匹配到的行) --color=auto 语法zhuose -n 显示行号 -w 匹配固定单词 2、PATTERN -- 正则表达式 作用:通过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身含义,需要使用\来进行转义 文件通配符: *:任意长度任意字符 ?:任意一个字符 正则表达式: 1)字符匹配 .任意一个字符 | 或 [] 范围内任意一个字符 [^] 范围外任意一个字符 字符类:[:digit:][:alnum:][:alpha][:space:][:punct:] 2)次数匹配 \*

Shell脚本grep命令

六月ゝ 毕业季﹏ 提交于 2021-02-13 08:44:54
三剑客:grep sed awk   grep:文本行过滤工具   sed: 文本行编辑器(流编辑器)   awk: 报告生成器,输出格式化 grep包含三个命令:   grep egrep fgrep 。他们是用来进行行模式匹配的   egrep:=grep -E 使用扩展的正则表达式进行匹配   fgrep =fast grep 只使用文件通配符进行匹配   *grep默认使用正则表达式进行文本匹配 grep的用法:   grep [option] …PATTERN [filename] grep的常用选项: -E 支持使用扩展正则表达式 -P 使用perl语言的正则表达式引擎进行搜索(每一种语言的) -I 忽略大小写 -o 仅仅输出匹配的内容(默认输出的是行) -v 进行反选 --color=auto 语法着色 -n 显示行号 pattern--正则表达式:     作用:通过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行。如果使用特殊本身含义,就需要\进行转义。   1.字符匹配:     . 任意一个字符 ?     [] 范围内的任意一个字符     [^]范围外的任意一个字符     字符类:[:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]   2.次数匹配