正则表达式用于读取由分号分隔的字符串并捕获特殊字符。(Regex for reading strings separated by semi-colon and capturing special characters. Python)
我有一个字符串如下:
mod_str ="10Deamidated; 12Gln->pyro-Glu"
我想将字符串的两个部分分成列表的元素,其中包含整数和字符串的元组,如下所示:
[('10', 'Deamidated'), ('12', 'Gln->pyro-Glu')]
我使用以下代码来捕获字符串,但我不知道如何包含特殊字符。
match_pattern = re.compile(r'(\d+)(\w+)') items = match_pattern.findall(mod_str)
到目前为止,输出看起来像这样:
[('10', 'Deamidated'), ('12', 'Gln')]
对于如何解决这个问题,有任何的建议吗?
I have a string as follows:
mod_str ="10Deamidated; 12Gln->pyro-Glu"
I want to separate the two parts of the string into elements of a list with tuples containing integer and string as follows:
[('10', 'Deamidated'), ('12', 'Gln->pyro-Glu')]
I am using the following code to capture the string but I am not sure how to include the special characters.
match_pattern = re.compile(r'(\d+)(\w+)') items = match_pattern.findall(mod_str)
So far the output looks like this:
[('10', 'Deamidated'), ('12', 'Gln')]
Any suggestions on how to fix this?
原文:https://stackoverflow.com/questions/23093622
最满意答案
是的,WRH被提及用户名和密码。
@ // biis1:1111 / UAT:安装oracle的机器的IP地址,以及端口与数据库一起提取数据。
Yes, WRH is mentioned for the username and password.
@//biis1:1111/UAT : The ip address of the machine on which oracle is installed and the port along with the database to fetch the data.
相关问答
更多-
Sqoop导入错误(Sqoop import error)[2022-07-05]
你可以尝试使用下面的代码: jdbc:mysql://localhost:3306/retail_db?zeroDateTimeBehavior=convertToNull can you try using the following code below: jdbc:mysql://localhost:3306/retail_db?zeroDateTimeBehavior=convertToNull -
Sqoop导入问题(Sqoop import issue)[2023-01-31]
我已经改变了表创建选项(ROW FORMAT DELIMITED FIELDS TERMINATED BY',')并解决了它。 CREATE EXTERNAL TABLE `default.dba_cdr_head`( `BI_FILE_NAME` varchar(50), `BI_FILE_ID` int, `UPDDATE` TIMESTAMP) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION 'hdfs:/tmp/dba_c ... -
Sqoop无法导入任何行(Sqoop fails to import any rows)[2023-07-28]
Josef尝试删除split-by并将reducer(-m参数)设置为1.如果它正常,则表示您的拆分器不好。 我也遇到了jdbc:oracle:thin:@10.0.2.15:1521/XE格式的连接字符串问题jdbc:oracle:thin:@10.0.2.15:1521/XE (认为它应该是jdbc:oracle:thin:@10.0.2.15:1521:XE或jdbc:oracle:thin:@无论如何//10.0.2.15:1521/XE - 阅读此JDBC )。 但对我来说只有这种格式有效: jd ... -
我对这种错误进行了一些研究,最后在屏幕截图的日志中找到了以下内容,在发生以下日志错误后,弹出了许多重试错误。 因此对资源经理表示怀疑。 Connecting to ResourceManager at quickstart.cloudera 我调查并发现了这一点 启动后通常不必启动任何服务器,但看起来YARN ResourceManager已经死亡。 启动时可能会出现一些小故障,可以通过运行以下命令再次尝试修复: sudo service hadoop-yarn-resourcemanager start ...
-
您可能需要在选择列表中包含“order_id”列。 sqoop import --connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" --username retail_dba --password cloudera --query "SELECT orders.order_id, order_items.order_item_product_id, orders.order_status FROM orders INNER JOIN ord ...
-
你错过了where 。 尝试这个: --query "select top 100 * from dw.DM_ADDRESS_ITC where \$CONDITIONS" 检查sqoop 文档以获取更多详细信息。 You missed where. Try this: --query "select top 100 * from dw.DM_ADDRESS_ITC where \$CONDITIONS" check sqoop documentation for more details.
-
是的,WRH被提及用户名和密码。 @ // biis1:1111 / UAT:安装oracle的机器的IP地址,以及端口与数据库一起提取数据。 Yes, WRH is mentioned for the username and password. @//biis1:1111/UAT : The ip address of the machine on which oracle is installed and the port along with the database to fetch the da ...
-
上面显示的输出错误是由于hadoop jar不在CLASSPATH中。 设置正确的CLASSPATH后尝试导入。 下面是tcsh shell的示例。 setenv CLASSPATH $HADOOP_HOME/lib/*:$CLASSPATH The issue turned out to be that I had a column name called "Text" and that was causing the error. I fixed it by renaming my column.
-
Sqoop Hive导入(Sqoop Hive import)[2023-06-07]
根据文件 默认情况下,导入到新的目标位置。 如果目标目录已经存在于HDFS中,Sqoop将拒绝导入并覆盖该目录的内容。 因此,如果您已经将表格导入到HDFS中,那么device目录已经存在的错误将是正常行为。 当您添加--hive-import命令时,Sqoop将数据复制到HDFS(在您的情况下,在device目录中)并使用数据的布局更新Hive Metastore。 你可以使用--hive-overwrite选项来告诉Sqoop覆盖表格: 如果Hive表已经存在,则可以指定--hive-overwrite ... -
从oozie进口Sqoop蜂巢(Sqoop hive import from oozie)[2022-01-13]
你是否将hive-site.xml复制到HDFS?或者你可以使用--target-dir将表导入hdfs路径并将hive表的位置设置为指向该路径 did you copy the hive-site.xml to HDFS ?that will do or you can import the table to hdfs path using --target-dir and set the location of hive table to point that path