Textexpander与Python匹配电话号码

Textexpander与Python匹配电话号码,python,clipboard,phone-number,textexpander,Python,Clipboard,Phone Number,Textexpander,我想使用Textexpander和Python通过剪贴板匹配电话号码: 在一个应用程序中单击格式类似于079808080的电话号码,在另一个应用程序中复制该号码并使用Textexpander快捷方式插入剪贴板内容,如0041 79 800 80 在一个应用程序中单击格式类似于079 800 80的电话号码,在另一个应用程序(如0041 79 800 80)中复制、插入带有Textexpander快捷方式的剪贴板内容 我发现了一个Textexpander代码段,它将剪贴板内容设置为大写: #!/u

我想使用Textexpander和Python通过剪贴板匹配电话号码:

  • 在一个应用程序中单击格式类似于
    079808080
    的电话号码,在另一个应用程序中复制该号码并使用Textexpander快捷方式插入剪贴板内容,如
    0041 79 800 80

  • 在一个应用程序中单击格式类似于
    079 800 80
    的电话号码,在另一个应用程序(如
    0041 79 800 80
    )中复制、插入带有Textexpander快捷方式的剪贴板内容

  • 我发现了一个Textexpander代码段,它将剪贴板内容设置为大写:

    #!/usr/bin/python
    import sys
    selection = """%clipboard"""
    sys.stdout.write(selection.upper(), 
    
    但我不知道如何根据我的目的修改此代码段(
    %clipboard
    是Textexpander中用于访问剪贴板内容的代码)

    有人有什么建议吗?

    @hackworks:

    是的,我仍然需要帮助匹配模式并转换它

    我想我需要一个Python、Ruby或者AppleScript代码来转换剪贴板上的电话号码,比如079808080(只需通过⌘-C在Mac上)到
    00417980080
    07980080
    00417980080

  • ⌘-C(复制)一个电话号码(
    07980080
    )到剪贴板
  • 转到另一个应用程序,我们说Evernote/Word等
  • 从Textexpander(如
    )中提取定义的缩写;phone
    将转换后的电话号码粘贴到Evernote/Word等中
  • 转换电话号码的Python、Ruby或AppleScript代码在代码段中;电话来自Textexpander:

  • 如果我键入快捷方式
    ;电话
    (或者其他:快捷方式可以由用户自己定义),Textexpander应该从剪贴板获取内容(因此,代码
    %clipboard
    可以在Textexpander中使用)
  • 然后启动一个
  • Python、Ruby或任何转换剪贴板内容的代码(此处:电话号码)
  • 将转换后的剪贴板内容传输到Textexpander
  • 将(e)替换快捷方式
    ;电话
    (Textexpander)带有转换后的电话号码,并将在Evernote/Word/Excel中插入转换后的电话号码
  • 1、2、4和5将由Textexpander完成。剪贴板内容“转换”代码也将直接放在Textexpander代码段中,换句话说,Textexpander将启动Python-/Ruby代码

    在这个例子中

    #!/usr/bin/python
    import sys
    selection = """%clipboard"""
    sys.stdout.write(selection.upper(),
    
    Textexpander将执行类似的过程:此代码编写在Textexpander代码段中。像
    这样的快捷方式;uc
    (大写)在Word中倾斜将启动Textexpander代码段。Textexpander将获取剪贴板内容(%clipboard),将Python代码(
    sys.stdout.write(selection.upper(),
    )推到剪贴板内容的大写,并将转换后的剪贴板内容插入Word。
    !/usr/bin/Python
    导入sys
    选择也与Python有关(我建议是这样),但我还远没有真正理解Python

    因此,我需要的是一个Python/Ruby代码,用于将电话号码格式转换为
    07980080
    079 800 80
    0041 79 800 80
    ,并将代码放入Textexpander工作流中


    这有意义吗?我的评论是否足够理解?

    经过一段时间的测试,我找到了一个使用正则表达式的解决方案。下面的正则表达式匹配并转换第一个示例,
    07966655522
    0041 79 666 55 22
    。我必须更改此代码,以便示例2(
    079 600 80 80
    0041 79 600 80
    )也将与此代码匹配,但这需要一些时间(欢迎任何建议:-):

    匹配

    ^(0|[1-9])([0-9]{2})([0-9]{3})([0-9]{2})([0-9]{2})
    
    转化

    0041 $2 $3 $4 $5
    

    你怎么知道剪贴板上是否有电话号码?带剪贴板包而不是Textexpander的python代码对你有用吗???@RickyA:点击电话号码->⌘-或者我误解了你的问题?@VikashSingh:最好不要,因为我经常使用Textexpander,而使用Textexpander的工作流对我更有用。@NiWy:请重新表述你的问题,以表达你在匹配模式并将其转换为其他模式时需要帮助。