如何使用正则表达式用$符号包围所有数字?崇高文本3

时间:2017-07-08 11:32:14

标签: python-3.x latex sublimetext3

我有一个乳胶表,我使用的是崇高的文字。问题很简单,我有数字说 输入:

3.3 & 42.32 & 123 

除了$ sign wrap之外,还有一种方法可以使用正则表达式替换具有相同数字的数字 输出:

$3.3$ & $42.32$ & $123$ 

2 个答案:

答案 0 :(得分:0)

您可以使用re.sub()并捕获:

    import java.util.ArrayList;
    import java.util.List;

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;

    public class Q44985587_links {

        static int count =0;
        public static void main (String args[]) throws InterruptedException
        {
            System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
            WebDriver driver = new ChromeDriver();
            driver.get("http://www.msn.com");
            driver.manage().window().maximize();
            List<WebElement> all_links = driver.findElements(By.tagName("a"));
            System.out.println(all_links.size());
            List<String> links = new ArrayList<String>();
            for(WebElement link:all_links)
            {
            String link_href = link.getAttribute("href");
            links.add(link_href);
            }
            System.out.println(links);


        }
    }

在上面的代码中,第一个arg:import re s='3.3 & 42.32 & 123 ' print(re.sub('(?P<num>\d+\.?\d*)',r'$\g<num>$',s)) 抓取了数字(?P<num>\d+\.?\d*),并将其命名为num。\d+\.?\d*
第二个arg:,(?P<num>...)将num替换为$ num $。
因此,它会按照我们的预期打印结果:r'$\g<num>$'

答案 1 :(得分:0)

我找到了答案。但是,老实说,我建议每个不懂正则表达式的人观看前四个系列

https://www.youtube.com/watch?v=c9HbsUSWilw

我的问题的答案是我在Sublime text 3编辑器中使用正则表达式。因此,答案是放入find(ctr + F)

Find: (\d+\.\d*)
Replace with: \$$1\$ (after pressing on the regler expression key in sublime text 3)