Posts tagged with “随笔”

从一句话看男女成长的双重困境

世上所有的女人最终都活成了她们母亲的样子,这是她们的悲剧。而男人不会,这是他们的悲剧。

当我第一次读到这句话时,立刻发现了其中的含糊之处。"男人不会"——究竟是说他们不会活成父亲的样子,还是不会活成母亲的样子?这种含糊激起了我的好奇心,我忍不住想要弄清这句话到底想要表达什么。

不论在东方还是西方,男性往往不自觉地复制父亲的行为模式。他们在成长过程中潜移默化地吸收父亲的处事方式、继承父辈的价值观,自然而然地选择相似的人生道路。从这个角度看,大多数男人真正"不会"的,或许应该是理解并接纳身为女性的母亲的样子。

这种"不会"是几千年来父权社会统治世界的结果。从小,男孩就被告知要坚强、勇敢,不能表现得"像女孩子"。这种教育不仅限制了男性表达情感的能力,也暗含着对女性特质的轻视,不可避免地造成性别冲突。

类似地,这世界上大部分的女性最终通过活成了母亲的样子,进而理解了身为女性不得不对生活做出诸多让步,这是一种清醒的悲剧;而男性却从小被刻意培养得不去理解女性,这是一种傲慢的悲剧。女人的悲剧在于"不得不理解",而男人的悲剧则是"不能理解"。

不论男人还是女人,终其一生都渴望自己成长为一个尽可能完整的人。多元化的社会价值观让人们认识到,人的成长不应被刻板印象所束缚。女权运动的发展不仅为女性带来更多可能性,也使男性有机会学会尊重、理解女性特质,而非本能地排斥它们。社会在进步,这样的悲剧并非不可避免。

看看我自己,我在传统文化环境中长大,喝了足够多的狼奶。幸运地,好奇心促使我阅读,阅读拓宽了我的知识面和视野,进而促使我反思和调整自己的观念。我明白,身为男性,理解和尊重女性不仅对女性有益,也能让自己成为一个更完整的人。

希望这篇短文能让这个世界变得更好一点点。

网友语录 - 第20期 - 别犹犹豫豫,先上路,路上缺啥补啥。

这里记录我的一周分享,通常在周六发布。


萧覃含 别犹犹豫豫,先上路,路上缺啥补啥。


Marskay 我父亲总是对我说:「如果你想跑步,就去跑,不用一定要等着有人陪你一起。因为只要坚持跑下去,迟早在你第五次或第二十次跑步的时候会有志同道合的人找到你,来到你身边。」直到最近我才意识到,这个道理其实在人生的很多方面都适用。


第三夏尔 人就是这么奇怪的动物:时间有限时,还能不断地给自己找事做,当时间趋近无限时,反倒会失去一切动力。 https://thirdshire.com/boreout/ 聊聊 Boreout:工作太闲也会生病 过劳的反面

…more

利用正则表达式精准匹配 Markdown 中的 Tag

在 Markdown 文档中,我们经常会使用 # 来标记标签(tag)。例如,#todo#feature 都可以作为标记嵌入文本中。然而,在 Markdown 中还存在另一种情况:代码块。代码块通常由单个或连续三个反引号(```)包裹,并且代码块内部可能会出现类似 #ff0000 这样的颜色值。如果不加以区分,就会把这些颜色值也识别为标签。

此外,为了避免误判,转义的反引号(\`)也不应被当作真正的分界符。为此,我们需要设计一个既能排除转义反引号,又能将连续的三个反引号作为一个整体处理的正则表达式。

挑战与需求

  • 处理代码块边界:Markdown 支持用单个反引号表示行内代码、用三个反引号表示多行代码块。正则表达式需要区分这两种情况,确保在代码块中的 # 不会被误认为标签前缀。
  • 转义字符的处理:例如 \` 这样的转义反引号不应计入反引号的配对判断中。
  • Tag 匹配规则:标签由 # 开头,后跟 1 至 32 个 Unicode 字母、数字或下划线,且必须在正确的边界下出现。

正则表达式解决方案

经过多次改进,我们最终得到了下面这个正则表达式:

(?=(?:(?:[^`]|\\`)*(?<!\\)(?<delim>```|`)(?:[^`]|\\`)*(?<!\\)(\k<delim>))*(?:[^`]|\\`)*$)(?<=(?:^|[^\\])#)[\p{L}_\p{N}]{1,32}(?=[^\p{L}\p{N}_]|$)

让我们逐步解析这条表达式的关键部分:

1. 保证反引号成对出现

表达式的开头部分使用了复杂的正向前瞻:

(?=(?:(?:[^`]|\\`)*(?<!\\)(?<delim>```|`)(?:[^`]|\\`)*(?<!\\)(\k<delim>))*(?:[^`]|\\`)*$)
  • 核心思想:通过匹配一系列非反引号或转义反引号的字符,再加上捕获组 (?<delim>```|)`,我们捕获了第一次出现的“分界符”——它可能是单个反引号,也可能是连续三个反引号。
  • 反向引用:利用 \k<delim>,确保后续匹配的分界符与前面捕获到的完全一致。这样,无论遇到的是行内代码还是代码块,都只视作一个整体。
  • 成对匹配:整个正向前瞻确保了目标区域内所有未转义的反引号都是成对出现的,避免了误将代码块内部的内容当作标签判断依据。

2. 确保标签前缀正确

接下来的部分:

(?<=(?:^|[^\\])#)
  • 作用:这个正向后查断言确保了标签必须由一个 # 开头,而这个 # 不能被反斜杠转义(即不应为 \#)。

3. 匹配 Tag 内容

标签的主体部分由下面这段完成:

[\p{L}_\p{N}]{1,32}(?=[^\p{L}\p{N}_]|$)
  • 匹配范围:这里 [\\p{L}_\\p{N}] 表示 Unicode 字母、数字以及下划线。{1,32} 限定了标签的长度为 1 至 32 个字符。
  • 边界条件:紧跟的正向查找断言 (?=[^\p{L}\p{N}_]|$) 确保标签后面紧跟的是非单词字符或已经到达字符串末尾,防止匹配到类似 #todoing 这种不完整的标签。

小结

这条正则表达式综合了多种复杂情况,既能处理 Markdown 中单反引号和三反引号的代码块,又能排除转义反引号的干扰,同时严格匹配标签格式。对于开发者来说,这样的表达式在解析 Markdown 文档、提取标签或进行格式化处理时非常有用。

当然,正则表达式的可读性和维护性是一个平衡点。虽然这条表达式在处理边界情况时表现出色,但在实际应用中可能还需要根据具体场景做出微调。希望这篇文章能为你在 Markdown 文档解析方面提供一些灵感和帮助。

年终读书盘点 2024

在2024年,跟往年一样,没有计划,纯粹跟着兴趣读,我一共读完了37本书,其中有两本书是重读的。

  • 毛泽东私人医生回忆录
  • 辉煌信标-美国灯塔史
  • 倭寇 海上历史
  • 汉文与东亚世界
  • 老滇缅路
  • 天生幸存者
  • 一个美国女孩在中国
  • 红色赌盘
  • 暗淡蓝点
  • 接触
  • 蒋介石的美国顾问-欧文拉铁摩尔回忆录
  • 宇宙 -- 从大爆炸到毁灭
  • 地图三千年
  • 世界上的鸟儿(套书共5本)
  • 人间相亲故事
  • 三星堆文化大猜想
  • 回到石器时代
  • 何伟的中国纪实
  • 寻路中国
  • 抱歉,我动了你的脑子
  • 别逗了费曼先生 (重读)
  • 费曼手札—不休止的鼓声
  • 当呼吸化为空气(重读)
  • 解码40亿年生命史
  • 140亿年宇宙演化全史
  • 掌控习惯
  • 超级生物探寻指南
  • 草民
  • 写在基因里的食谱
  • 远去的胜利 - 德国前线将领二战回忆录
  • 长乐路
  • 范妮 希尔

不算很好的成绩,也不算很坏。希望我的2025能多读几本书!

网友语录 - 第3期

我的生活态度是,早上起床想一想,我有可能活不到今天晚上,晚上上床想一想,我有可能活不到明天早上。-- 德图里子爵(1776-1854),法国贵族

乔布斯 我热爱消费者市场,讨厌企业市场。我们推出了一种产品,告诉每个人,大家自己决定要不要买,这很简单。但是,企业市场不是这样,使用产品的人自己做不了主,而做主的人不使用产品。

我们拥有的机会并没有我们以为的那么多。太多事情你以为还有的是机会去做,其实已经没有了或者几乎没有了。

米福根 女儿回家的周末,与我一起和外公外婆分享我们的平常生活:去生物博士开的二手店买旧衣服,去南瓜节买当地产当天收的蔬菜,去老厂房看本市家禽俱乐部为下个周末布展。每一个场景,都是大家在热忱地做自己喜欢的事情,这应该就是传说中的安居乐业。

米福根 恋爱的智慧,不是试图改变对方,而是扪心自问,能否与这样的缺失共处…然后为自己做一个决定。

We Don’t See Things As They Are, We See Them As We Are. 我们所见的,不是事物的本来面目,而是我们自身的投射。 人们对事物的理解和看法往往并不取决于事物本身,而是受到自身的经验、情绪、偏见等因素的影响。因此,我们“看到的”实际上是我们自身的投射,是我们内在的世界映射到外在事物上的样子。

是什么让我忘记了时间的流逝?“心流”指的是你因为全神贯注地投入手头的工作,从而忘记了周边世界的存在的一种精神状态。当运动员和表演者处于“这个区域”时,他们所经历的就是这种快乐和巅峰表现的交融。你从事的工作或多或少会让你感到愉悦,否则你几乎不可能体验到心流。

小青 昨天和朋友交流学意大利语的艰难经历,我们共同的体会就是,每天都要学,一天都不能断。断断续续等于浪费时间。

我们现在已经不再费功夫检测性格特征是否含有遗传成分,因为我们根本找不到不受基因影响的成分。