懒惰三问

本文探讨了懒惰作为人类天性的根源及其与勤奋之间的内在矛盾。从进化心理学角度解析了懒惰行为背后的原因,并讨论了如何通过理性和意志力克服懒惰,实现个人成长。

在偷懒这件事上,我们人类是绝不会偷懒的。

我时常在想,为什么懒惰会是我们的天性,为何造物主会将其编入我们的基因序列。如果人人都勤快些,都乐于强健体魄,忙于学习工作,精于发明创造,那么建设社会主义的砖瓦早就多到有剩,民族复兴可能也已完成 99.99%。从生物学的角度来说,知冷畏热,趋利避害,这都是为了提高个体的生存几率,但勤劳能有什么危害呢?为什么大脑总是会想方设法阻止我们长时间的思考或者劳作。

我能想到的唯一合理解释是:勤奋太费力气了,而懒惰可以节约更多的生物能量,尽可能的存储体能,就好比生物在食物匮乏的冬季进入冬眠一样,偷懒也能减少能量消耗,是个体从远古时期就学习而来的一种生存技能。

可这都二十一世纪了,在今天的移动互联网浪潮下,不说成为时代的弄潮儿,适当的付出努力,赚个三五千一月的工资,想饿死都是件难事。为什么个体依旧会习惯性的选择懒惰?一到周末,在跑步机和沙发之间,大多数人都会奔向后者。只有少数懂得正视自我,挑战惰性的人则能通过持续的输出换得更多的社会资源。

懒惰是深入每个人细胞神经的本能,大脑总会在关键时刻绞尽脑汁的替我们找出偷懒的另一条途径。在你专注阅读十分钟后,会突然会想起朋友圈可能有新消息了,而且只需要付出极小的力气就能把手伸向一旁的手机。

第二个疑问,理性为何难以战胜惰性。我相信以绝大多数人的理性认知水平,都能估算克服懒惰所能带来的巨大收益。

成功是人人都渴望的身份标签。要走向世俗意义上的成功(财富,名声,权力)需要各种优秀品质与时运集齐一身,这类成功本身就是一场对稀缺资源的争夺,它的胜败更依赖于与生俱来的家庭资源和不可预测的机遇,光勤奋是远远不够的。对于平凡的大多数,追求相对意义上的成功更切实际,纵向的自我对比,看看现在的自己相较于三五年前是否大有不同,财富积累、知识储备、社会阅历等,这些都是可以真实感知的变化,这种程度的成功,光靠勤奋是一定能够达成的。

这类成功在我看来,只要足够勤奋几乎可以说是唾手可得。这个时代和以往不同,信息的获取变得前所未有的容易,行业对于人才的选择标准几乎是透明的,比如一个 iOS 程序员如果熟悉 TCP/IP 协议(真正意义上的熟悉,而非简历上的精通),那么他能选择的机会数量已远高于平均水平。要做到熟悉 TCP/IP 协议有多难呢?三年的时间沉浸其中应该是差不多了,但这三年期间需要无数次的以绝对的理性压制懒惰,这才是真正的难点所在,也是我最疑惑的地方,理性虽然能够清晰感知战胜懒惰对于提升自我的意义,却还总是任由惰性一次次阻挠自己。

我想过很多可能的答案,比较合理的解释是:「人很难意识到自己在偷懒」。客观的说,懒与勤奋也是个相对的概念。很多时候,我们可能会接收到错误的信号:“我其实还算努力”,“暂时维持现状也不赖”。你觉得 996 下班后已筋疲力尽该放松娱乐的时候,有的人回家兴致勃勃打开电脑开始写个人项目了。大脑总是会夸大身体的负面状态,疲劳、焦躁、困倦,这些信号都会建议身体立即进入休息状态。连续看一个小时书感到疲倦、注意力难以集中后,无视身体信号,继续坚持再看一个小时会怎么样呢?不会怎样,身体没有任何损害,一觉之后一切如旧。

大脑总是会预先进入身体的防护状态。持续跑一千米后,能明显感觉双腿变重、全身乏力、气喘、供氧不足、好像再多跑一秒就会倒地不支,可真咬牙再坚持一百米,身体的力量复又回来了,腿也变轻了,大脑发觉无法欺骗你,转而配合你的工作。

第一个一千米就是懒惰制造的舒适区,持续的学习、工作、写代码、开会、跑完一千米之后,就会进入理性与惰性的辩论战,理性告诉你「再坚持下去能有更好的结果」,惰性则说「差不多可以休息了」。理性若胜,突破舒适区,耐性增强,下次或许可以挑战两千米。

第三个问题,为何我们总是容易陷入间歇性的踌躇满志与持续性的颓废懒惰里

在我们信心满满制定未来规划之时,惰性在干嘛?当我们回归日常,熬夜赖床,电影游戏为伴时,凌云壮志又去了哪里?热情与梦想似乎能在短时间内彻底的压制懒惰,这种绝对的正面力量是来自哪里?能不能被记录和维持呢?

我们多是听了真实的案例,有了感同身受的渴望,进而在电光火石之间产生一个未来计划,这种突如其来的冲击能在一瞬间让血脉喷张,仿佛同样的成功已近在咫尺。买书的那一刻就可以清晰品尝到读完整本的收获和喜悦。这顷刻的正能量要是可以收藏起来该多好,可偏偏人是健忘的,当天的感动和振奋在第二天可能连十分之一都不剩了,遑论一个月之后还在矢志不移的坚持。

情绪虽然无法被完整保存,但我们可以用文字或自己的语言去尽可能的记录和描述它,颓废时就拿出来温故知新总有用处。热情与梦想是人生的燃料,哪怕是短期的也弥足珍贵。我们还可以多结交远比自己优秀的朋友,置身于竞争激烈的圈子,身边之人现身说法的成功往往更具备冲击力和感染力。

问题的答案都隐藏在问题里,关键在于我们是否愿意正视问题。懒惰是自我突破的第一大敌,需要每个人正襟危坐,严阵以待。

如果打算过的比现状更好一点,不妨在勤奋这件事上,再勤奋一些。

转自 MrPeak杂货铺 https://zhuanlan.zhihu.com/p/27505148



<think>首先,用户的题是:如何使用正则表达式同时匹配单行注释(//[\s\S]*?\n)和星号注释(/\*(.|\r\n|\n)*?\*/)。用户提供了站内引用,我需要参考这些引用。 用户引用了几个来源: - [^1]: 正则表达式的基本元字符和规则。 - [^2]: 正则表达式的使用汇总,包括语法和模式。 - [^3]: 使用 | 元字符表示交替。 - [^4]: 贪婪匹配和懒惰匹配。 - [^5]: 示例使用 preg_match 函数。 用户的实际需求是:找到同时匹配单行注释(以 // 开头,到换行结束)和星号注释(以 /* 开头,到 */ 结束)的方法。 我需要生成一个正则表达式来匹配这两种注释。 关键点: - 单行注释://[\s\S]*?\n - // 是起始字符 - [\s\S]*? 匹配任何字符(包括换行符),懒惰模式,直到... - \n 换行符结束 - 星号注释:/\*(.|\r\n|\n)*?\*/ - /* 是起始字符 - (.|\r\n|\n)*? 匹配任何字符(包括换行符),懒惰模式,直到... - */ 结束字符 要同时匹配两者,我应该使用 | 运算符表示交替,意思是“或”。这允许正则表达式匹配其中任何一种模式。 引用 [^3] 明确提到了使用 | 来表示交替: - "某些正则表达式需要匹配两者之一,交替元字符 | 表示两种可能性均可匹配" 所以,我可以构建一个正则表达式: (第一种模式) | (第二种模式) 具体来说: - 单行注释模式://[\s\S]*?\n - 星号注释模式:/\*(?:.|\r\n|\n)*?\*/ (注意:使用了非捕获组 (?: ) 来避免不必要的捕获,但这不是必须的) 在星号注释模式中,用户使用了 (.|\r\n|\n)*?,这可以简化为 [\s\S]*?,因为 [\s\S] 匹配任何字符,包括换行符。这与单行注释中使用的相同。 简化: - 单行注释://[\s\S]*?\n - 星号注释:/\*[\s\S]*?\*/ (因为 [\s\S] 包括换行符) 现在,组合它们:(//[\s\S]*?\n)|(/\*[\s\S]*?\*/) 但是,需要处理懒惰匹配(非贪婪匹配),以确保正确匹配而不包括其他内容。引用 [^4] 提到了贪婪规则和懒惰匹配。 在交替中,由于两种模式是互斥的(单行注释以 // 开始,星号注释以 /* 开始),所以 | 运算符应该工作良好。 另外,考虑边界情况: - 在单行注释中,它以 \n 结束,但如果注释在文件末尾没有换行符怎么办?用户的原模式是 //[\s\S]*?\n,这假设注释以换行结束。如果文件末尾没有换行,这可能不匹配。类似地,星号注释需要 */ 结束。 为了鲁棒性,可以做一些调整: - 对于单行注释:使用 //[^\n]*(\n|$) 或类似的东西,但用户指定了 //[\s\S]*?\n,所以我应该坚持用户提供的内容。 - 用户的题中,单行注释模式是 //[\s\S]*?\n,这匹配到换行符,但如果注释是整个文件最后一行,可能需要 $ 来匹配结尾。 但为了保持简单,我可以使用用户给定的模式。 最终正则表达式: (//[\s\S]*?\n)|(/\*[\s\S]*?\*/) 在编程中使用时,可能需要转义字符,比如在字符串中。但用户只是正则表达式模式。 现在,回答结构: - 系统指令要求使用中文回答。 - 回答要结构清晰,逐步解决题。 - 需要生成相关题。 - 在回答中引用的段落末尾添加引用标识。 步骤: 1. 解释题:用户想同时匹配两种注释。 2. 建议使用 | 运算符来组合两者。 3. 提供完整的正则表达式。 4. 解释为什么这样工作。 5. 生成相关题。 引用相关部分: - 引用 [^3] 关于 | 运算符。 - 引用 [^4] 关于懒惰匹配,但用户模式中已经使用了懒惰匹配(*?),所以可能不需要。 完整正则表达式: (//[\s\S]*?\n)|(/\*[\s\S]*?\*/) 在正则表达式中,| 有优先级题,所以最好用括号将每个选项分组。 为了效率,可以使用非捕获组: (?://[\s\S]*?\n)|(?:/\*[\s\S]*?\*/) 但在大多数情况下,捕获组也可以。 现在,生成相关题: - 基于主题:正则表达式、注释匹配。 - 例如: 1. 如何处理正则表达式中的懒惰匹配? 2. 如何匹配多行注释而不包括其他内容? 3. 正则表达式在不同编程语言中的实现差异? 确保回答真实可靠。 最终回答提纲: 1. 介绍:为了同时匹配单行注释和星号注释,可以使用正则表达式的交替运算符 |。 2. 提供正则表达式: $$(//[\s\S]*?\n)|(/\*[\s\S]*?\*/)$$ 3. 解释:| 运算符允许匹配任何一个模式,[\s\S]*? 确保懒惰匹配以正确结束。 4. 引用:参考引用 [^3] 关于交替元字符。 5. 生成相关题。 </think>### 正则表达式同时匹配单行注释和星号注释 为了同时匹配单行注释(以 `//` 开头、以换行符结束)和星号注释(以 `/*` 开头、以 `*/` 结束),我们可以使用正则表达式的 **交替元字符 `|`** 来组合这两种模式。这种方法允许正则表达式匹配其中任何一种注释类型,而不会互相干扰。下面我将一步步解释解决方案: #### 步骤分解: 1. **理解单行注释模式**:用户提供的单行注释正则表达式 `//[\s\S]*?\n` 含义如下: - `//`: 匹配起始字符 "//"。 - `[\s\S]*?`: 懒惰匹配(非贪婪模式)任何字符(包括换行符),其中 `[\s\S]` 表示所有空白和非空白字符的组合(等价于匹配任何内容)。 - `\n`: 匹配换行符作为结束标记。 - 示例:`// This is a comment\n` 会被完整匹配。 2. **理解星号注释模式**:用户提供的星号注释正则表达式 `/\*(.|\r\n|\n)*?\*/` 含义如下: - `/\*`: 匹配起始字符 "/*"(注意 `*` 需要转义)。 - `(.|\r\n|\n)*?`: 懒惰匹配任何字符序列,包括换行符(`\n` 或 `\r\n`)。 - `\*/`: 匹配结束字符 "*/"(`*` 需要转义)。 - 优化建议:`(.|\r\n|\n)` 可简化为 `[\s\S]`,因为它能匹配任何字符(包括换行),简化后为 `/\*[\s\S]*?\*/`。 - 示例:`/* This is a \n multi-line comment */` 会被完整匹配。 3. **组合两种模式使用 `|` 运算符**:通过交替元字符 `|` 将两种模式合并为一个正则表达式。这表示“匹配第一种模式或第二种模式”。 - 完整正则表达式: $$(//[\s\S]*?\n)|(/\*[\s\S]*?\*/)$$ - 解释: - `(//[\s\S]*?\n)`: 捕获组1,匹配单行注释。 - `|`: 交替运算符,表示“或”。 - `(/\*[\s\S]*?\*/)`: 捕获组2,匹配星号注释。 - 使用懒惰限定符 `*?`(非贪婪模式)确保匹配最短可能序列,避免错误匹配其他注释或代码[^4]。 这个正则表达式在多行文本中能正确识别两种注释。例如,在以下文本中: ``` // This is a single-line comment int x = 10; /* This is a multi-line comment */ ``` 它会匹配: - 第一行:`// This is a single-line comment\n` - 第行:`/* This is a\nmulti-line comment */` #### 注意事项: - **懒惰匹配的重要性**:两种模式中都使用了 `*?`(懒惰匹配),这确保了正则表达式在遇到第一个结束标记(如 `\n` 或 `*/`)时就停止匹配,避免贪婪地跨越多个注释块[^4]。 - **边界处理**:单行注释模式 `//[\s\S]*?\n` 假设注释以换行符结束。如果文本末尾没有换行符(如文件结尾),可能匹配失败。可优化为 `//[\s\S]*?(\n|$)` 以支持文件末尾,但用户原模式已足够常见。 - **实现细节**:在编程语言中使用时(如 Python 或 JavaScript),可能需要转义字符(例如在字符串中写成 `"(//[\\s\\S]*?\\n)|(/\\*[\\s\\S]*?\\*/)"`)。 - **引用依据**:交替元字符 `|` 是正则表达式的标准特性,用于匹配多个可能性之一,正如引用[^3]所述:“某些正则表达式需要匹配两者之一,交替元字符 `|` 表示两种可能性均可匹配”[^3]。 #### 完整正则表达式代码: 在独立环境中使用时: ```regex (//[\s\S]*?\n)|(/\*[\s\S]*?\*/) ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值