五分钟搞定正则表达式,如果没搞定,那就再加两分钟

一、正则表达式介绍

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

不用过多介绍,大家对正则表达式应该不太陌生。即使没有用过,也一定听说过。
我们先看几个常见的正则表达式:

匹配 IP 地址
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)匹配电子邮箱
([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})

对于正则表达式,第一映像是一串神秘的字符串。如果不是真正了解其规则,看到这字符串,定然是摸不着头脑。

不过说实话,了解其规则以后,看到这数字,也有点头疼。毕竟正则这个东西,写时爽歪歪,看时如天书。

话虽这样说,正则表达式说白了,也就是一连串的规则而已,只要了解了规则,一点一点总能看懂。所以不要有畏难情绪。

我们从最简单的例子开始,一点一点添加规则,争取让大家在学会正则表达式的过程中感觉不到丝毫痛苦。
(这里有一个网站,http://tool.oschina.net/regex/#,可以在线测试正则表达式的正确性,读者朋友们可以在这上面进行测试,方便学习,我们后面的例子讲解,也用这个工具)。

二、几个常用规则

前面看了那么复杂的例子,我们这里回归本源,从一个简单的例子开始看。

2.1 完全匹配

正则表达式是用来匹配文本的,现在假设我们要匹配 “abcdefg” 这一字符串中的 “abc” 三个字母,我们该怎么写呢?

abc

对,不要怀疑,就是这么简单。

如果想匹配 “def”,那么就是

def

是不是很简单呢?是不是小脑瓜中又透露出一丝疑惑?

如果正则表达式的匹配内容很简单,也很明确,可以进行完全匹配,写出来的结果就是这样的。

2.2 符号 |

那我们再继续往后看。

还是 “abcdefg” 字符串,我们想匹配其中的 “ab” 和 “ef” 两个子串,怎么写呢?按照上面的写法,就是写两个正则 “ab” 和 “ef” 来匹配。这样可以,不过略显麻烦。我们写法如下:

ab|ef

这里我们新加了 "|" 这个字符,表示 或,即匹配 ab 或者 ef,是不是就方便了许多。

再继续看,这次我们需要改变一下待匹配的字符串。

我们在 “acabcdefgh acbbcdefgh accbcdefgh” 字符串中,要匹配 “abcdef”,“bbcdef”,“cbcdef” 三个子串。

读者朋友们一看,这题非常简单,用上面的方法,正则表达式如下:

abcdef|bbcdef|cbcdef

写法正确,不过略显繁琐。我们的写法如下:

(a|b|c)bcdef

是不是有些理解 “|” 的使用了呢。

那我们要匹配 “acabcdef”,“acbbcdef”,“accbcdef” 这三个子串怎么写呢?

ac(a|b|c)bcdef

这下子理解 “|” 的使用了吧。而且我们现在的的写法,是不是长得有些 ”像“ 正则表达式了呢?

2.3 符号 []

我们继续。
上面的例子,我们如果不用 “|”,可以实现么?

答案是可以的,写法如下:

ac[abc]bcdef

是不是看着比上面更清爽一点呢?

我们这里引入了一个新的字符 "[]"

这对中括号是字符集的意思,里面包含的字符,都是或("|")的关系。

我们还可以这样写:

ac[a-c]bcdef

“[a-c]” 表示的是匹配 a-c 之间的任意字符。

这里对 “[]” 稍微多说一些,[] 除了可以放字符集合以及字符范围以外,还可以做取反操作。

比如 “[^a-c]” 表示的是匹配 a-c 范围以外其他的字符。"[^0-8]" 表示的是匹配 0-8 范围以外的其他字符。

到了这里,我们已经可以写一些简单的匹配规则了。

2.4 限制符号 * + ? {}

我们继续往下看。

我们现在想匹配 类似 “fooooooooooooooooof” 这样子的字符串,中间的 “o” 个数我们不能确定,上面讲到的规则就有点无能为力了。

那我们该怎么写呢?

fo*f

这里的 "*" 表示匹配前面的子表达式零次或多次。

那么有些读者朋友会问了,如果想匹配至少有一个 “o” 该怎么写呢?

fo+f

这里的 "+" 表示匹配前面的子表达式一次或多次。

那么读者朋友又问了,如果想匹配 0 个或者者 1 个 该怎么写呢?

fo?f

这里的 "?" 表示匹配前面的子表达式零次或一次。

那么有些读者朋友又会问了,如果想匹配确定次数的 “o” 该怎么写呢?

我们可以这样写:

fo{2}f

上面的规则,会匹配 foof,即匹配 2 个 “o”。

所以,"{n}" 表示匹配前面子表达式 n 次。

那读者朋友们再次发问,如果想匹配至少 n 个 “o” 该怎么写呢?

fo{2,}f

"{n,}" 表示匹配前面子表达式至少 n 次。

那读者朋友们这次不发问了,会举一反三了,那如果想匹配 最少 n 个,最多 m 个呢?

fo{2,5}f

"{n,m}" 表示匹配前面子表达式至少 n 次,至多 m 次。

所以 “*” 等价于 “{0,}”,"+" 等价于 “{1,}”,"?" 等价于 “{0,1}”。

到这里,我们能写的匹配规则更多了,而且可以说大部分匹配运用上面的规则都可以实现了。

大家可以回头看看文章开头贴的几段正则表达式,看看是否能看懂了。

当然除此之外,正则里的规则其实还是不少的,除了上面几个,我们再看几个比较常用的。

2.5 几个转义字符

在正则表达式里,也有一些转义字符,表示一些特殊的含义。

"\d" 表示匹配数字字符,等价于 “[0-9]”。

"\D" 表示匹配非数字字符,等价于 “[^0-9]”。

"\n" 表示匹配换行符。

"\s" 表示匹配任何空白字符,等价于 “[\f\n\r\t\v]”。

"\S" 表示匹配任何非空白字符,等价于 “[^\f\n\r\t\v]”。

2.6 符号 .

符号 "." 会匹配 “\n” 以外的所有字符,也是比较常用的。

2.7 符号 ?

到目前为止,我们已经学习了大部分常用的正则表达式规则,日常开发基本已经够用了。

不过使用正则表达式时,限制字符 “* + ? {}” 默认的匹配规则是贪婪的。什么意思呢?

比如说有一个字符串 “abbbbb”,我们使用正则表达式 “ab+” 去匹配,匹配的结果是 “abbbbbbb”,会尽可能多的去匹配满足的字符。

我们如果想尽可能少的匹配满足的字符,那么就在限定符后面加 “?”。

“ab+?” 匹配的结果就是 ab。

"?" 符号的非贪婪匹配,在某些情况下也是很有用的。

2.8 符号 ()

最后我们再来看一个符号 “()”,小括号的含义是分组,可以理解为被小括号包含的子表达式就是一个分组,在前面介绍 “|” 的时候我们使用过。

不过分组也分很多类型。

"(pattern)" 小括号单纯的包含了子表达式,表示此分组可以被捕获。捕获的意思就是此分组的内容会被保存下来,后续可以从匹配的集合中获取到。

"(?:pattern)" 小括号中增加了 ?: 前缀,表示此分组不可以被捕获。后续匹配的集合中就不会包含此分组信息。
这样说下来,不太好理解。这里需要结合具体开发语言的实现来说。先留个悬念,后面会讲到。

"(?=pattern)" 小括号中增加了 ?= 前缀,表示的是匹配此分组,但是此分组里的内容不需要被获取。

"(?!pattern)" 小括号中增加了 ?! 前缀,表示的是匹配此分组之外的内容,但是此分组里的内容不需要被获取。

举个栗子:
正则表达式 “Windows(?=95|98|NT|2000)” 可以匹配字符串 “Windows2000” 中的 “Windows”,但是不能匹配 “Windows3.1” 中的 Windowds。

正则表达式 “Windows(?!95|98|NT|2000)” 可以匹配字符串 “Windows3.1” 中的 “Windows”,但是不能匹配 “Windows2000” 中的 Windowds。

以上就是正则表达式里一些常见的规则解析。

2.9 看看文章开头的例子

我们在文章开头放了两个例子,这里来分析一下。

匹配 IP 地址的正则表达式
"((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)"

我们分段来看。

先看第一段 "(2[0-4]\d|25[0-5]|[01]?\d\d?)\.)",这里用 “|” 分割了三种匹配情况。

第一种是 "2[0-4]\d",即三位数字,第一位是 2,第二位是 0 - 4 之间,第三位是任意数字。

第二种是 "25[0-5]",三位数字,第一位是 2,第二位是 5,第三位是 0 - 5 之间。

第三种是 "[01]?\d\d?",第一位是 0 或者 1,匹配零次或一次,第二位和第三位是任意数字,第三位数字匹配零次或一次,也就是 一位数,两位数,三位数都可能满足这种情况。

第一段末尾是 "\." 作为分隔符。

再来看第二段 "{3}",这个表示前面的子表达式重复三次,也就是 IP 地址的前三个字节。

再看第三段 “(2[0-4]\d|25[0-5]|[01]?\d\d?)”,和第一段是一样的。

匹配电子邮箱
“([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})”

也是分段来看。

第一段 "([a-z0-9_\.-]+)",表示匹配 a-z 范围内的字母,0-9 范围的数字,以及 “_”,".","-" 三个字符,"+" 表示至少有一个字符。

第二段 "@" 表示匹配 “@” 字符。

第三段 "([\da-z\.-]+)","\d" 表示匹配任意数字,a-z 范围的字母,".","-" 两个字符,"+" 至少有一个字符。

第四段 "\." 表示匹配 “.” 字符。

第五段 "([a-z\.]{2,6})",表示匹配 a-z 范围的字母,"." 字符,"{2,6}" 表示至少 2 个字符,至多 6 个字符。

经过上面的讲解,大家应该对正则表达式有了进一步的了解。

三、在代码中如何使用

在了解了正则表达式的规则以后,我们看一下在实际代码中是如何使用的。

这里以 Java 代码作为示例。

在 Java 中,关于正则表达式的主要有两个类,Pattern 和 Matcher。

我们看一下具体如何使用。

package com.zy.java;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class ReTest {public static void main(String[] args) {String str = "grilboy1girlboy2boy3girl";String pattern = "boy([0-9])";// 创建 Pattern 对象Pattern r = Pattern.compile(pattern);// 创建 matcher 对象Matcher m = r.matcher(str);while (m.find()) {System.out.println("match boy: " + m.group(0));System.out.println("match boy number: " + m.group(1));}String phoneNumber = "18888888888";String phonePattern = "^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$";r = Pattern.compile(phonePattern);m = r.matcher(phoneNumber);System.out.println("is phone number: " + m.matches());r = Pattern.compile(pattern);String[] res = r.split(str);for (String s : res) {System.out.println("split res: " + s);}}
}

上面代码运行的结果如下:

match boy: boy1
match boy number: 1
match boy: boy2
match boy number: 2
match boy: boy3
match boynumber: 3
is phone number: true
split res: gril
split res: girl
split res: 
split res: girlProcess finished with exit code 0

在 Java 中使用正则表达式分三步走:

  1. 写好正则表达式
  2. Pattern.compile 生成 Pattern 对象
  3. 调用 Pattern 相关的正则操作

Pattern 类中有几个方法会比较常用:

Pattern#matcher 生成 Matcher,可以对正则表达式进行匹配,以及获取匹配的内容。

Pattern#split 根据正则表达式内容划分字符串。

Matcher 类中也有几个方法比较常用:

Matcher#find 寻找下一个满足规则的子串,通常用在查找子串中。

Matcher#matches 用来判断整个字符串是否满足匹配规则,常用的类似匹配电话号码,邮箱等等。

Matcher#group 就是获取我们在上面讲到的 “()” 小括号分组。默认 group(0) 整个串的匹配,group(1),group(2) 等等往后顺延,就是小括号内的分组。

在我们上面的例子中的正则表达式是 “boy([0-9])”,用来获取字符串中的 boy,而括号中的分组是 boy 的编号,在生成 Matcher 以后,调用 Matcher#group(0) 获取的是整个匹配内容,Matcher#group(1) 获取的是小括号分组的内容。

通过上面例子,大家应该明白 “()” 的作用了吧。

四、规则全集

下面总结一下正则表达式的所有规则,在使用时可以查阅,引用自 https://tool.oschina.net/uploads/apidocs/jquery/regexp.html:

字符描述
\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\”匹配“\”而“(”则匹配“(”。
^匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
$匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
*匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及“zoo”。*等价于{0,}。
+匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
?匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。
{n}n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
{n,}n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。
{n,m}m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
?当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。
.匹配除“\n”之外的任何单个字符。要匹配包括“\n”在内的任何字符,请使用像“(.
(pattern)匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“(”或“)”。
(?:pattern)匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(
(?=pattern)正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95
(?!pattern)正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95
(?<=pattern)反向肯定预查,与正向肯定预查类拟,只是方向相反。例如,“(?<=95
(?<!pattern)反向否定预查,与正向否定预查类拟,只是方向相反。例如“(?<!95
x|y匹配x或y。例如,“z
[xyz]字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。
[^xyz]负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“p”。
[a-z]字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
[^a-z]负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。
\b匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。
\B匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。
\cx匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。
\d匹配一个数字字符。等价于[0-9]。
\D匹配一个非数字字符。等价于[^0-9]。
\f匹配一个换页符。等价于\x0c和\cL。
\n匹配一个换行符。等价于\x0a和\cJ。
\r匹配一个回车符。等价于\x0d和\cM。
\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
\S匹配任何非空白字符。等价于[^ \f\n\r\t\v]。
\t匹配一个制表符。等价于\x09和\cI。
\v匹配一个垂直制表符。等价于\x0b和\cK。
\w匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。
\W匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。
\xn匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41”匹配“A”。“\x041”则等价于“\x04&1”。正则表达式中可以使用ASCII编码。.
\num匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\1”匹配两个连续的相同字符。
\n标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。
\nm标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。
\nml如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。
\un匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。

参考资料

https://tool.oschina.net/uploads/apidocs/jquery/regexp.html

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. AB1561、AB1568、AB1568A 蓝牙5.2

    AB1561、AB1568、AB1568A 是一款支持TWS蓝牙5.2版本、低功耗、低延时、更是一款开放式的蓝牙耳机芯片。 深圳市明佳达电子有限公司是一家全球知名品牌电子元器件回收商&#xff0c;长期以高价现金回收个人库存、工厂库存、海关扣押、寄售、代销、清仓等深度垂直服务&#xff0…...

    2024/4/6 10:45:24
  2. FastWAAM v1.0.0发布

    FastWAAM v1.0.0 发布 FastWAAM是一款专业化软件&#xff0c;用于基于机器人焊接平台的增材制造路径计算&#xff0c;软件的主要功能点如下 基于STL网格模型的切片&#xff1b; 对切片结果自动分域并计算域内填充路径&#xff1b; 针对切片以及路径的编辑功能&#xff1b; …...

    2024/4/15 18:51:49
  3. android外接USB扫码器应用闪退,外接U盘正常的情况

    问题&#xff1a; 最近在项目开发的过程中android设备需要外接USB扫码器&#xff0c;神奇的就是在插拔USB扫码器的时候应用都会自动闪退&#xff0c;查看日志(如下图)&#xff0c;并没有发现crash的相关异常呀&#xff0c;同时在接入U盘使用的时候也是正常的 分析&#xff1a…...

    2024/4/6 10:45:22
  4. ZooInspector zookeeper图形化的客户端

    参考文章&#xff1a; https://blog.csdn.net/xuruanshun/article/details/102733259 1、zookeeper图像化客户端工具的下载地址&#xff1a; https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip 2、下载完后解压压缩包&#xff0c;打开ZooInspect…...

    2024/4/15 18:51:44
  5. 快速幂算法

    快速幂 题目描述 求 a 的 b 次方对 p 取模的值。说到求解a的b次幂时&#xff0c;我们会想到幂运算的定义 然后就会自然而然地敲下一串的循环来计算这个值。但是这样实在是太慢了&#xff0c;如果指数比较大的话&#xff0c;就要好长好长的时间… 我们可以利用二进制的特点来减…...

    2024/4/6 10:45:20
  6. Python总结与对应练习(一)

    一、变量及简单的数据类型 &#xff08;一&#xff09;变量 1、python是一门弱数据类型语言。 print()函数——打印输出 type()函数——查看类型 2、变量命名规范 &#xff08;1&#xff09;变量名只能包括字母、数字和下划线&#xff0c;且不能以数字开头…...

    2024/4/15 18:51:49
  7. liunx设置环境变量,任何目录都可以操作命令

    设置环境变量和window设置环境变量一样&#xff0c;liunx是在etc/profile里&#xff0c;mysql为例&#xff0c;如下&#xff1a; 为了可以在任意目录上都可以使用mysql命令登录mysql&#xff0c;将mysql安装目录配置到环境变量中&#xff0c;在/etc/profile文件的末尾添加以下代…...

    2024/4/15 18:51:44
  8. 纯JAVA实现Mybatis管理derby数据库

    目录 0.项目结构 1.导入jar包 2.编写创建数据库业务代码 3.创建实体类 4.配置mybatis配置文件mybatis-config.xml 5.编写mapper sql语句文件 6.编写实体类业务代码 7.测试 0.项目结构 1.导入jar包 2.编写创建数据库业务代码 嵌入式数据库 package com.hmgzs.db;import j…...

    2024/4/19 14:04:25
  9. Hloc- cvg/ Hierarchical-LocalizationPublic

    遇到的问题&#xff1a; gnutls_handshake() failed: The TLS connection was non-properly terminated 如果使用Https 访问http启动的项目&#xff0c;会出现此错误, 改用http git clone --recursive https://github.com/cvg/Hierarchical-Localization/改为&#xff1a; …...

    2024/4/15 18:51:49
  10. linux集群分发文件shell

    #!/bin/bash# 无参数 if [ $# lt 1]thenecho “no enough Arguments!”exit; fi# 遍历集群中的所有机器 for host in 192.168.179.20 192.168.179.30 192.168.179.31 doecho $host# 遍历入参中的所有目录for file in $do#判断文件是否存在if [ -e $file ]then# 获取文件的父目录…...

    2024/4/15 18:51:54
  11. HTML概览

    一.HTML5概述 WWW指万维网(WWWURLHTTPHTML),是1990年由李爵士发明的,17年被颁发图灵奖 WWW的直观感受&#xff0c;如何使用万维网:你输入网址&#xff0c;看到网页&#xff0c;看不见的部分由HTTP搞定。 HTML5权威指南 MDN 李爵士做了啥&#xff1f; 自己写了第一个浏览器&…...

    2024/4/15 18:51:44
  12. Mybatis框架(入门篇)

    什么是框架 框架&#xff08;Framework&#xff09;&#xff1a;整个或部分系统的可重用设计&#xff0c;表现为一组抽象构建实例间交互的方法&#xff1b;是应用开发者定制的应用骨架&#xff08;软件开发的一套解决方案&#xff09;。优点&#xff1a;框架封装了很多的细节&…...

    2024/4/19 16:57:34
  13. Effective C++ 笔记(五)

    五&#xff1a;实现 条款26&#xff1a;尽可能延后变量定义式的出现时间 "尽可能延后"的真正意义&#xff1a;不只应该延后变量的定义&#xff0c;直到非得使用该变量的前一刻为止&#xff0c;甚至应该尝试延后这份定义直到能够给它初值实参为止。如果这样&#xff0…...

    2024/4/16 22:50:33
  14. Python作业3

    第三天作业 作业1&#xff1a; 控制台输入两个变量&#xff0c;交换这两个变量的值【使用异或完成】 num1 int(input("请输入第一个数")) num2 int(input("请输入第二个数")) num1 num1 ^ num2 num2 num1 ^ num2 num1 num1 ^ num2 print(num1,num2)…...

    2024/4/15 18:51:29
  15. 大数据时代的 9 大Key-Value存储数据库

    在过去的十年中,计算世界已经改变。现在不仅在大公司,甚至一些小公司也积累了TB量级的数据。各种规模的组织开始有了处理大数据的需求,而目前关系型数据库在可缩放方面几乎已经达到极限。 一个解决方案是使用键值(Key-Value)存储数据库,这是一种NoSQL(非关系型数据库)模…...

    2024/4/15 18:51:34
  16. 谁说Java架构不能速成的,Java架构速成笔记:1425页考点,七大专题,挑战P8岗

    前言 我们都知道&#xff0c;在程序员的职业生涯中&#xff0c;有多个发展方向&#xff0c;不过就数据表明&#xff0c;近年来选择架构师方向的开发人员也越来越多。 对于架构师的发展前途&#xff0c;我相信是已经没有争议的&#xff0c;但这个“概念”对于很多开发人员来说…...

    2024/4/18 17:21:37
  17. 基于标记的形态学分水岭算法

    基于标记的形态学分水岭算法 import cv2 as cv import numpy as np# 标准形态学分水岭算法 # 针对灰度图像&#xff0c;使用灰度值最低的像素点作为起始点&#xff0c;从起始点开始淹没 # 基于标记的形态学分水岭算法 # 使用灰度值最低的像素点作为起始点&#xff0c;也可以将…...

    2024/4/18 8:41:54
  18. buuctf GWCTF 2019 pyre

    下载题目发现是一个pyc文件&#xff0c;关于pyc的详细解释&#xff0c;我看到了这篇文章(6条消息) .pyc是什么&#xff1f;_loveliuzz的博客-CSDN博客_.pyc pyc文件是PyCodeObject的一种持久化保存方式&#xff0c;当我们第二次运行Python程序时&#xff0c;编译器会运行pyc文…...

    2024/4/15 18:52:20
  19. Java+MySQL 基于springboot+vue的准妈妈孕期育儿交流平台#毕业设计

    项目编号:JavaMySQL spring234-基于springboot的准妈妈孕期育儿交流平台#毕业设计 开发语言&#xff1a;Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在…...

    2024/4/15 18:52:15
  20. 爬虫基础(案例一:爬取17K小说个人书架信息)

    爬取思路&#xff1a; 1、进入17K官网&#xff0c;&#xff08;先不要登录&#xff09;&#xff0c;然后点击书架&#xff0c;这时会弹出登录页面。 2、进行抓包&#xff0c;然后输入登录的账号密码&#xff08;请勿使用第三方登录&#xff09; 3、登录成功后&#xff0c;找到名…...

    2024/4/19 10:52:43

最新文章

  1. java spring 07 createBean()(加载class文件,重写方法,实例化前)和doCreateBean()

    01.createBean方法 protected Object createBean(String beanName, RootBeanDefinition mbd, Nullable Object[] args)throws BeanCreationException {if (logger.isTraceEnabled()) {logger.trace("Creating instance of bean " beanName "");}RootBea…...

    2024/4/28 2:54:49
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. C# Solidworks二次开发:六种配合方式以及注意事项API详解

    今天要写的文章是关于配合的一些API介绍。 如果大家还不知道创建配合的API用的是哪个&#xff0c;可以看一下我之前写的文章&#xff1a;C# Solidworks二次开发&#xff1a;创建距离配合以及移动组件API详解_solidworks transform2-CSDN博客 &#xff08;1&#xff09;今天要…...

    2024/4/27 12:27:43
  4. promise.all方式使用

    romise.all( ).then( ) 处理多个异步任务&#xff0c;且所有的异步任务都得到结果时的情况。 比如&#xff1a;用户点击按钮&#xff0c;会弹出一个弹出对话框&#xff0c;对话框中有两部分数据呈现&#xff0c;这两部分数据分别是不同的后端接口获取的数据。 弹框弹出后的初…...

    2024/4/27 7:08:50
  5. 备战蓝桥杯Day37 - 真题 - 特殊日期

    一、题目描述 思路&#xff1a; 1、统计2000年到2000000年的日期&#xff0c;肯定是需要遍历 2、闰年的2月是29天&#xff0c;非闰年的2月是28天。我们需要判断这一年是否是闰年。 1、3、5、7、8、10、12月是31天&#xff0c;4、6、9、11月是30天。 3、年份yy是月份mm的倍数…...

    2024/4/24 9:33:16
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/26 20:12:18
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57