用python正则表达式替换字符串问题

我用python写一个计算器,想用正则表达式将字符串中的一些内容替换,举个例子字符串如下
1+2*3-(5/6)+sin(45)-ln(100)
如何将用正则表达式先找到其中有sin()的内容,然后将sin(45)这个子串提取出来算出其值,然后用值去替换字符串中sin(45)

0

1个回答

import re
import math
s = '1+2*3-(5/6)+sin(45)-ln(100)'
str_sin = re.search('sin(\d+)', s).group()
num_sin = re.search('\d+', str_sin).group()
re_sin = math.sin(int(num_sin))
s = re.sub('sin(\d+)',str(re_sin) ,s,1)
print(s)
我也是初学,这个方法有点笨,不过可以实现

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python3学习笔记-33(使用正则表达式替换字符串)
一、正则表达式学习 import re """ 正则表达式学习 """ """ 1.匹配单个字符 """ """ . 匹配任意一个字符,除了\n [] 匹配中括号中列举的任意一个字符, 可以不连续 \d 匹配一位数字(0-9) \D 匹配非数字 \s 匹配空白(空格, tab键等) \S 匹配非空白 \w 匹配单个字符 a-z A-Z 0-9 _ \W 匹配非单词字符 """ resul...
Python 用正则表达式一次替换文章中所有特殊符号,如“-,$()#+&*”之类
一个简单的正则表达式,可能会起大作用。比如说字符集就是这样。一篇文章如果有各种乱码,就可以用这种方法去除。如去除“-,$()#+&*”之类符号是很方便的。按照查找、分割、替换的套路再做一做这样的练习。今天晚了,后续还要操作文件来完善这一点。   import re p=re.compile(r'[-,$()#+&*]') str="156-04+31-0&#009$...
Python3中替换指定字符:replace()和正则表达式
在Python3中替换给出字符串中的指定字符或者特殊字符的方法: 1,用replace()进行替换 2,用正则表达式进行替换 import re # 1,用字符串本身的replace方法: print('=======replace()替换=======') a1 = 'Hello world' b1 = a1.replace('world', 'python') print('1原始...
【python】 字符串替换+正则
因为看电影字幕有些不必要的想删除,此段代码用于删除{}内的内容。 python 中 string的replace函数并不能直接使用 正则表达式,所以我们采取compile的方式: 其中re为正则的标准库。 此段代码包含: 1.文件的读入输出 2.正则表达式的使用  import re out = open('g:/and.then.there.were.none.s01e01+
正则表达式替换字符串数据
开发工具与关键技术:vs regex 作者:黄海峰 撰写时间:2019.04.06 在各种数据转换中,数据不一定会转换成我们想要的数据格式,就比如我们下面的这些从控制台得到数据一样: 我们需要对得到的IsTIme和StTime两条数据进行分割处理让他们变成数组,然后再进行单个数据的赋值,下面一个成功的赋值,但是也有不成功的 在我们对他进行分割时一部分数据就像此时IsTIme一样,我们是采取用...
python正则表达式使用实例-替换字符串HTML标签
最近因为需要把字符串中的html标签替换掉,想到的是使用正则来做,因为原来模块是用C++码的,所以就用的glibc的regex来做的。后来查资料发现用python来做这件事,简单方便,而且一次性可以完成所有替换,不想用C还需要自己写程序移动指针完成替换。不多说了上代码,很简单。 #! /usr/bin/env python # -*- coding:gbk -*- """ No
日常Python中使用正则表达式处理字符串
平时常常使用Python的正则表达式进行一些字符串的处理,做一点简单记录: 1. 查找字符串中的特定字符串:     >>> x = "s321sdd55ii" >>> re.findall(r‘\d+', x) ['321', '55'] 2. 把字符串按正则规则切片: >>> x = "sfas sadfaee d serass...
字符串:正则表达式用于替换操作
/* *  2018年3月30日16:34:22 *  代码目的: *      演示正则表达式用于替换操作。 *      方法见名知义。 *      replaceFirst和replaceAll均为类Matcher的普通方法。 *      appendReplacement(StringBuffer sbuf, String replacement)执行渐进式的替换 。 *     ...
C# 用正则表达式替换字符串中所有特殊字符
public static String RemoveSpecialCharacter(String hexData)         {             return Regex.Replace(hexData, "[ \\[ \\] \\^ \\-_*×――(^)$%~!@#$…&%¥—+=         }
java正则表达式分析替换字符串
[code="java"] public static void main(String[] args){ String regex = "\\$\\{(.+?)\\}"; String str = "linkme" ; Pattern pattern = Pattern.compile(regex); System.out.println(pattern); ...
用正则表达式re 替换多处字符串(re.sub)
pattern = re.compile('"lead":"(.*?)",') # 单引号中的字符串都是要替换掉的 html = re.sub(pattern, '', html) # 匹配所有符合的地方  
iOS-字符串替换-正则表达式-例子
需求:在html中查找并替换相应的html标签 代码实现 - (NSString *)replaceImageHtml:(NSString *)oldHtml { NSString *regex = @"()"; NSRange r; NSMutableString *newHtml = [NSMutableString stringWithString:ol
10.28 yield正则表达式替换字符串
10.28 再看正则表达式替换字符串10.28 再看正则表达式替换字符串
JS 利用正则表达式替换字符串
[code="java"] JS 利用正则表达式替换字符串 var data = "123123,213,12312,312,3,Caat,cat,dsfsdfs,"; var reCat = /\bc([a-z]|[A-Z]|[0-9])*t\b/ig; //•g(全文查找);•i(忽略大小写);•m(多行查找) var res = data.replace(reCat,"AAA");...
Qt 使用正则表达式进行字符串替换
Qt使用类QRegExp封装正则表达式,这里举一个例子。 #include <QRegExp> int main() { QRegExp re = "<a href=\"(.*)\">(.*)</a>"; QString str = "<a href=\"blog.csdn.net\">CSDN博客地址(<a
mysql中替换字符串(正则)
问题描述:mysql中replace只能替换既定字符串,如 : UPDATE `web_article` SET body = REPLACE ( body, '<div>', '<body>' ); 所以对于需要替换特定部分变化的字符串则显得无能为力,如:<BaseURI>www.bjeit.gov.cn</BaseURI> <RULE>政民互动</RULE> <SOURCE>北京市经济和信息化
用正则表达式替换java的字符串中的所有字母
  String qx=&quot;610B0A&quot;; System.out.println(qx); // 判断是否包含字母 (包括大写字母和小写字母) if(qx.matches(&quot;.*[a-zA-Z].*&quot;)){     Pattern p = Pattern.compile(&quot;[a-zA-z]&quot;);     Matcher matcher = p.matcher(qx); ...
C++利用正则表达式进行字符串的替换
主要要加上头文件#inlcude,这也是剑指offer上的题目 void replaceSpace(string str,int length) { string pattern=&quot; &quot;; regex re(pattern); string fmt=&quot;20%&quot;; string ret=regex_replace(st...
Java移除/替换 匹配正则表达式的子字符串
        String x=&quot;16+(7×17)-90×23+(1÷2)&quot;;          StringBuffer operatorStr=new StringBuffer(x);                      // 1.创建 Pattern 对象           Pattern p = Pattern.compile(&quot;\\d+(\\.\\d*)*&quot;);  /...
正则表达式 替换字符串 replaceAll()方法的运用
package cn.niit.demo5zhengze; /* 正则表达式 替换字符串 replaceAll()方法的运用 */ public class Test2 { public static void main(String[] args){ function(); } /* &quot;klsjdfljlsdj4565789sdf45&quot;将所有...
正则表达式
元字符 描述 \ 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”...
正则表达式替换某个字符
需要匹配指定位置的某个字符 示例:替换时间戳中的最后一个冒号为.号 //原始字符串 let str=&quot;18:78:45:222&quot; //匹配 let reg=/^(.{5,8}):(.*)$/g //替换 let result=str.replace(reg, &quot;$1*$2&quot;) 希望有更好的方法,看官们留个言呗...
jquery中的替换符合条件的字符串
为了更清楚的了解,这里使用一个小例子:在一个字符串中的标签外层,添加一个标签,即: 既然是符合某种条件,那么我们这里就需要用到正则表达式           具体的正则表达式语法这里就不介绍了,我们需要用到的正则表达式是:var reg = //;           然后调用replace方法,替换字符串:content  = content.replace(reg,""); $1表示
python xml文件解析,正则表达式字符串替换
python解析xml,字符串替换,正则表达式,可以参考
mysql中替换字符串(正则) 模糊
首先描述一下,我遇到的问题: 以下是数据库中的一个表mt2: +----+------------------------------------------+ | id | name | +----+------------------------------------------+ | 1 | sdfsfbe...
Java学习笔记;正则表达式及字符串的替换分解
什么是正则表达式? 正则表通常被用来检索、替换那些符合某个模式(规则)的文本。 (自我理解,不保证对错) 简单的来说就是用一些特殊的字符来代表字符串,比如 String regex=&quot;\D+&quot;; 这里的正则表达式&quot;\D+“代表非数字的字符串,如&quot;adsfgdsf+“之类,(“416&quot;则是数字字符串) 这里我们大致可以看出它的用处,当我们因为某种需要(这种需要一般为检索或者替换定向删除之类)在逻辑上...
Linux中正则表达式和字符串的查询、替换(tr/diff/wc/find)
目录 正则表达式 基本正则表达式 扩展正则表达式 grep tr diff du wc find 正则表达式 正则表达式,又称正规表示法、常规表示法( Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。正则表达式可以用来检查一个串是否含有某种子串、将...
字符串替换之正则替换
我想对于Java程序员而言,字符串替换肯定都是很熟悉的了,今天在工作中也遇到一个字符串替换的问题,可是一时之间竟然无从下手,顿时觉得基础没打好啊,这里记录一下,供需要的人学习一下。 需求描述:有个字符串变量,如“2018年的春节是哪一天?”,然后需要判断这个字符串中是否有年份的数字,如果有,那么就在这个年份的前面加上一个特殊的字符串(如[n1][y1])。 这样的需求该如何实现呢? 经过了思
js利用正则表达式进行字符替换
例一:把所有逗号“,”转换成换行。 var reg = new RegExp(",", "g");//正则表达式,第一个参数是目标对象,第二个参数g,表示全部替换。 str.replace(reg, "\r\n"); 例二:把换行、空格、Tab替换成逗号。 str.replace(/\r/g, ",").replace(/\n/g, ",").replace(/\s+/g,
Python系列(4)-- Python 正则表达式匹配字符串替换、格式修改
有如下数据,需要把 . 去掉 # -*- coding: utf-8 -*- &quot;&quot;&quot; Created on Mon Sep 25 20:47:33 2017 @author: Don &quot;&quot;&quot; import re f = open(&quot;84.txt&quot;,'rb') r = open(&quot;84_result.txt&quot;,&quot;w+&quot;) corpus = bytes.decode
Python正则表达式--每日一点 检索和替换
简单的对上期的search和match进行一下简单补充,两者最大的区别在于match是从开始部分进行匹配,没有匹配到就返回空,而search是整句扫描进行匹配 好了,开始今天的内容 大家看下这段代码 patter1 = '#.*$' # 删除注释的正则表达式 patter2 = '\D' # 删除非数字的正则表达式 source = &quot;15527%...
java中正则表达式替换字符串中的中括号
java中正则表达式替换字符串中的中括号
正则表达式匹配/替换指定字符串
using System.Collections; using System.Collections.Generic; using System.Text.RegularExpressions; using UnityEngine; public class Test : MonoBehaviour { void Start() { string tStr =...
c#正则表达式之替换01
#region 11_正则表达式之替换01 string msg = &quot;马aaa荣aaaaaaa现代aaa社会潘aaa金a莲&quot;; msg = Regex.Replace(msg, &quot;a+&quot;, &quot;A&quot;); Console.WriteLine(msg); Console.ReadKey(); ...
详解shell脚本(八)——正则表达式和文本替换
正则表达式 #IP地址 [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} [0-9]或[:digit:]匹配数字0~9。{1,3}匹配1到3个数字,.匹配”.”。 表 4-1: 正则表达式 描述 示例 - 行起始标记 -tux匹配以tux起始的行 ...
Java 通过正则表达式替换字符串
简介 java中提供了两个类来支持正则表达式的操作,分别是java.util.regex下的Pattern类和Matcher类 依据Pattern对象做为匹配模式对字符串展开匹配检查,然后Matcher实例在给定的Pattern实例的模式控制下进行字符串的 匹配,在实际的开发中,为了方便我们很少直接使用Pattern类或Matcher类,而是使用String类下的方法进行替换。 ...
Oracle正则表达式替换字符串
select replace(regexp_replace('null?·“\','[(null)?*·*“*]+',''),'\','\\') from dual;
Freemaker Replace函数的正则表达式运用
replace(param1,param2,param3) param1 正则表达式;param2 将匹配的字符替换成指定字符;param3 模式 param3参数如下 模式 i r m s c f replace 支持 支持 只和r组合 只和r组合 只和r组合 支持 模式解释: ...
Python 正则表达式 字符串的匹配、替换、分割、查找
1、search(pattern, string, flags=0)      在一个字符串中查找匹配 2、findall(pattern, string ,flags=0)     找到匹配,返回所有匹配部分的列表 3、sub(pattern, repl, string , count=0, flags=0)    将字符串中匹配正则表达式的部分替换为其他值 4、split(pattern
PHP 字符串正则替换函数preg_replace
$msg = preg_replace("/.+/is", "", $msg); -----删除和中间的部分 $msg = preg_replace("/]+>/", "", $msg); -----是删除i (PCRE_CASELESS) 如果设定此修正符,模式中的字符将同时匹配大小写字母。 s (PCRE_DOTALL) 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。