我正在使用JavaScript创建在线计算器.
我有这个来计算:
eval(expression).toPrecision(10);
Run Code Online (Sandbox Code Playgroud)
这几乎在所有情况下都能产生正确的输出.例如
eval('456456+45646486*45646884').toPrecision(10)
// Output: "2.083619852e+15"
eval('1/0').toPrecision(10)
// Output: "Infinity"
Run Code Online (Sandbox Code Playgroud)
然而
eval('4*1').toPrecision(10)
// Output: "4.000000000"
Run Code Online (Sandbox Code Playgroud)
如何修剪尾随零但同时保持良好的输出?
我需要从多行字符串中获取一组浮点数(正数和负数).例如:-45.124, 1124.325等等
这是我做的:
text.scan(/(\+|\-)?\d+(\.\d+)?/)
Run Code Online (Sandbox Code Playgroud)
虽然它在regex101上工作正常(捕获组0匹配我需要的所有东西),但它在Ruby代码中不起作用.
任何想法为什么会发生以及如何改进?
我对正则表达式比较陌生,而且我正陷入死胡同.我有一个数据框,其列如下所示:
year1
GMM14_2000_NGVA
GMM14_2001_NGVA
GMM14_2002_NGVA
...
GMM14_2014_NGVA
Run Code Online (Sandbox Code Playgroud)
我试图在字符串中间提取年份(2000,2001等).到目前为止,这是我的代码
gsub("[^0-9]","",year1))
Run Code Online (Sandbox Code Playgroud)
返回数字,但它也返回14作为字符串的一部分:
142000
142001
Run Code Online (Sandbox Code Playgroud)
有关如何从模式中排除14或如何更有效地提取年份信息的任何想法?
谢谢
我遇到了一个问题,它挑战我创建二进制数的正则表达式(包含0s和1s).但是,如果二进制数仅包含最多5 1秒,则字符串应该匹配.如何限制正则表达式中的字符外观?
例子:
01101101 是正确的01111100 是正确的10110011 是正确的01111110 是错的11111110 是错的我无法理解以下输出:
import re
re.sub(r'(?:\s)ff','fast-forward',' ff')
'fast-forward'
Run Code Online (Sandbox Code Playgroud)
根据文档:
返回通过替换 repl 替换 string 中模式的最左侧非重叠出现而获得的字符串。
那么为什么空格包含在捕获的出现中,然后被替换,因为我在它之前添加了一个非捕获标签?
我想要以下输出:
' fast-forward'
Run Code Online (Sandbox Code Playgroud) 我有这个正则表达式: {([^}]+)}
它成功捕获了括号内容,例如
hello {foo} and {bar}.
我还希望捕获由一个字符分隔的匹配内的组,例如
hello {foo:bar} and {hello:world}.
前者会{foo:bar}与群体产生匹配{foo},{bar}而后者则{hello:world}与群体{hello}和群体匹配{world}.
我不精通正则表达式,我已经试过这样:{([^}]+)(:([^}]))?}和{([^}]+)(\:([^}]))?}万一:是一个特殊字符.
我需要做哪些修改才能成功?
我正在 Coursera 上学习这门课程,在做第一个作业时遇到了一些问题。任务基本上是使用正则表达式从给定文件中获取某些值。然后,该函数应输出包含这些值的字典:
example_dict = {"host":"146.204.224.152",
"user_name":"feest6811",
"time":"21/Jun/2019:15:45:24 -0700",
"request":"POST /incentivize HTTP/1.1"}
Run Code Online (Sandbox Code Playgroud)
这只是文件的屏幕截图。由于某些原因,如果不是直接从 Coursera 打开,该链接将不起作用。对于格式错误,我提前表示歉意。我必须指出的一件事是,在某些情况下,正如您在第一个示例中看到的那样,没有用户名。相反,使用“-”。
159.253.153.40 - - [21/Jun/2019:15:46:10 -0700] "POST /e-business HTTP/1.0" 504 19845
136.195.158.6 - feeney9464 [21/Jun/2019:15:46:11 -0700] "HEAD /open-source/markets HTTP/2.0" 204 21149
Run Code Online (Sandbox Code Playgroud)
这就是我现在所拥有的。但是,输出为 None。我想我的模式有问题。
import re
def logs():
with open("assets/logdata.txt", "r") as file:
logdata = file.read()
# YOUR CODE HERE
pattern = """
(?P<host>\w*)
(\d+\.\d+.\d+.\d+\ )
(?P<user_name>\w*)
(\ -\ [a-z]+[0-9]+\ )
(?P<time>\w*)
(\[(.*?)\])
(?P<request>\w*)
(".*")
"""
for item in re.finditer(pattern,logdata,re.VERBOSE):
print(item.groupdict())
Run Code Online (Sandbox Code Playgroud) 我想使用正则表达式从java中的字符串中捕获日期和其他一些信息.
我将我的模式分组如下,
"( ( date_variation_1 | date_variation_2) (some_other_info) ) "
Run Code Online (Sandbox Code Playgroud)
现在,我想提取匹配的字符串,如下所示,
group0 - 整个匹配组1
- 日期
组2 - 其他一些信息
我的问题是我需要在date_variation_1,date_variation_2和some_other_info内部使用括号,这些括号也将被视为组分隔符.
有没有任何简单的解决方法,即将一些其他特殊章程定义为外部组分隔符,而不是括号?
date_variation_1:
"(((?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|Tues|Thur|Thurs|Sun|Mon|Tue|Wed|Thu|Fri|Sat))" // Day Of Week 1
+ "(\\s+)" // White Space 1
+ "((?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))[-:\\/.](?:(?:\\d{1}\\d{1})))(?![\\d])" // MMDDYY 1
+ "(\\s+)" // White Space 2
+ "((?:(?:[0-1][0-9])|(?:[2][0-3])|(?:[0-9])):(?:[0-5][0-9])(?::[0-5][0-9])?(?:\\s?(?:am|AM|pm|PM))?))"; // HourMinuteSec 1
Run Code Online (Sandbox Code Playgroud) 我想在黄瓜页上写一个数字。请让我知道我该怎么写这个。
场景大纲:输入无效的 URL
Given the context "Invalid URL" is open on "Market"
When user is on the error 404 page
Then page not found message is displayed
Run Code Online (Sandbox Code Playgroud)
但我观察到 404 被当作参数。
有效的字符串应仅包含西里尔字符或拉丁字符。
\n我使用 2 个正则表达式创建了一个工作解决方案。但是当我尝试将它们合并为 1 时,它失败了:
\n#!/usr/bin/perl\n\nuse strict;\nuse warnings;\nuse utf8;\nuse v5.14;\nuse open ':std', ':encoding(UTF-8)';\n\nmy @data = (\n # rus - ok\n "\xd0\xb0\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd1\x91\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8c\xd1\x8b\xd1\x8a\xd1\x8d\xd1\x8e\xd1\x8f\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x81\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xac\xd0\xab\xd0\xaa\xd0\xad\xd0\xae\xd0\xaf",\n # space\n "\xd0\xb0 \xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd1\x91\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8c\xd1\x8b\xd1\x8a\xd1\x8d\xd1\x8e\xd1\x8f\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x81\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xac\xd0\xab\xd0\xaa\xd0\xad\xd0\xae\xd0\xaf",\n # rus - latin\n "\xd0\xb0t\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd1\x91\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8c\xd1\x8b\xd1\x8a\xd1\x8d\xd1\x8e\xd1\x8f\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x81\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xac\xd0\xab\xd0\xaa\xd0\xad\xd0\xae\xd0\xaf",\n # digit\n "\xd0\xb0\xd0\xb12\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd1\x91\xd0\xb6\xd0\xb7\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87\xd1\x88\xd1\x89\xd1\x8c\xd1\x8b\xd1\x8a\xd1\x8d\xd1\x8e\xd1\x8f\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x81\xd0\x96\xd0\x97\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7\xd0\xa8\xd0\xa9\xd0\xac\xd0\xab\xd0\xaa\xd0\xad\xd0\xae\xd0\xaf",\n # latin - ok\n "abcdefghejklmnopqrstuvwxyzABCDEFGHEJKLMNOPQRSTUVWXYZ",\n # space\n "a bcdefghejklmnopqrstuvwxyzABCDEFGHEJKLMNOPQRSTUVWXYZ",\n # underscore\n "a_bcdefghejklmnopqrstuvwxyzABCDEFGHEJKLMNOPQRSTUVWXYZ",\n # digit\n "a2bcdefghejklmnopqrstuvwxyzABCDEFGHEJKLMNOPQRSTUVWXYZ"\n);\n\nforeach(@data) {\n if ($_ =~ /^[\xd0\xb0-\xd1\x8f\xd1\x91]+$/i or $_ =~ /^[a-z]+$/i) {\n print "ok\\n";\n }\n else {\n print "bad\\n";\n }\n}\n\nprint "-------\\n";\nforeach(@data) {\n if ($_ =~ /^(:?[\xd0\xb0-\xd1\x8f\xd1\x91]+)|(:?[a-z]+)$/i) {\n print "ok\\n";\n }\n else …Run Code Online (Sandbox Code Playgroud)